index.d.mts 48 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365
  1. import * as vue from 'vue';
  2. import { ComponentPropsOptions, ExtractPropTypes, PropType, ComponentPublicInstance, FunctionalComponent, VNode, DirectiveBinding } from 'vue';
  3. // @ts-ignore
  4. import * as vue_router from 'vue-router';
  5. type ClassValue = any;
  6. type Density = null | 'default' | 'comfortable' | 'compact';
  7. declare const block: readonly ["top", "bottom"];
  8. declare const inline: readonly ["start", "end", "left", "right"];
  9. type Tblock = typeof block[number];
  10. type Tinline = typeof inline[number];
  11. type Anchor = Tblock | Tinline | 'center' | 'center center' | `${Tblock} ${Tinline | 'center'}` | `${Tinline} ${Tblock | 'center'}`;
  12. interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
  13. filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): Partial<Pick<T, U>>;
  14. }
  15. type JSXComponent<Props = any> = {
  16. new (): ComponentPublicInstance<Props>;
  17. } | FunctionalComponent<Props>;
  18. type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
  19. declare const IconValue: PropType<IconValue>;
  20. declare const VFileUpload: {
  21. new (...args: any[]): vue.CreateComponentPublicInstance<{
  22. length: string | number;
  23. style: vue.StyleValue;
  24. title: string;
  25. disabled: boolean;
  26. multiple: boolean;
  27. tag: string;
  28. icon: IconValue;
  29. modelValue: File | File[];
  30. tile: boolean;
  31. density: Density;
  32. scrim: string | boolean;
  33. clearable: boolean;
  34. showSize: boolean;
  35. browseText: string;
  36. dividerText: string;
  37. hideBrowse: boolean;
  38. } & {
  39. name?: string | undefined;
  40. location?: Anchor | null | undefined;
  41. height?: string | number | undefined;
  42. width?: string | number | undefined;
  43. border?: string | number | boolean | undefined;
  44. color?: string | undefined;
  45. maxHeight?: string | number | undefined;
  46. maxWidth?: string | number | undefined;
  47. minHeight?: string | number | undefined;
  48. minWidth?: string | number | undefined;
  49. opacity?: string | number | undefined;
  50. position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
  51. class?: any;
  52. theme?: string | undefined;
  53. elevation?: string | number | undefined;
  54. rounded?: string | number | boolean | undefined;
  55. subtitle?: string | undefined;
  56. thickness?: string | number | undefined;
  57. closeDelay?: string | number | undefined;
  58. openDelay?: string | number | undefined;
  59. } & {
  60. $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
  61. browse?: ((arg: {
  62. props: {
  63. onClick: (e: MouseEvent) => void;
  64. };
  65. }) => vue.VNodeChild) | undefined;
  66. default?: (() => vue.VNodeChild) | undefined;
  67. icon?: (() => vue.VNodeChild) | undefined;
  68. input?: ((arg: {
  69. inputNode: VNode;
  70. }) => vue.VNodeChild) | undefined;
  71. item?: ((arg: {
  72. file: File;
  73. props: {
  74. "onClick:remove": () => void;
  75. };
  76. }) => vue.VNodeChild) | undefined;
  77. title?: (() => vue.VNodeChild) | undefined;
  78. divider?: (() => vue.VNodeChild) | undefined;
  79. };
  80. 'v-slots'?: {
  81. browse?: false | ((arg: {
  82. props: {
  83. onClick: (e: MouseEvent) => void;
  84. };
  85. }) => vue.VNodeChild) | undefined;
  86. default?: false | (() => vue.VNodeChild) | undefined;
  87. icon?: false | (() => vue.VNodeChild) | undefined;
  88. input?: false | ((arg: {
  89. inputNode: VNode;
  90. }) => vue.VNodeChild) | undefined;
  91. item?: false | ((arg: {
  92. file: File;
  93. props: {
  94. "onClick:remove": () => void;
  95. };
  96. }) => vue.VNodeChild) | undefined;
  97. title?: false | (() => vue.VNodeChild) | undefined;
  98. divider?: false | (() => vue.VNodeChild) | undefined;
  99. } | undefined;
  100. } & {
  101. "v-slot:browse"?: false | ((arg: {
  102. props: {
  103. onClick: (e: MouseEvent) => void;
  104. };
  105. }) => vue.VNodeChild) | undefined;
  106. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  107. "v-slot:icon"?: false | (() => vue.VNodeChild) | undefined;
  108. "v-slot:input"?: false | ((arg: {
  109. inputNode: VNode;
  110. }) => vue.VNodeChild) | undefined;
  111. "v-slot:item"?: false | ((arg: {
  112. file: File;
  113. props: {
  114. "onClick:remove": () => void;
  115. };
  116. }) => vue.VNodeChild) | undefined;
  117. "v-slot:title"?: false | (() => vue.VNodeChild) | undefined;
  118. "v-slot:divider"?: false | (() => vue.VNodeChild) | undefined;
  119. } & {
  120. "onUpdate:modelValue"?: ((files: File[]) => any) | undefined;
  121. }, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
  122. 'update:modelValue': (files: File[]) => true;
  123. }, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
  124. length: string | number;
  125. style: vue.StyleValue;
  126. title: string;
  127. disabled: boolean;
  128. multiple: boolean;
  129. tag: string;
  130. icon: IconValue;
  131. modelValue: File | File[];
  132. tile: boolean;
  133. density: Density;
  134. scrim: string | boolean;
  135. clearable: boolean;
  136. showSize: boolean;
  137. browseText: string;
  138. dividerText: string;
  139. hideBrowse: boolean;
  140. } & {
  141. name?: string | undefined;
  142. location?: Anchor | null | undefined;
  143. height?: string | number | undefined;
  144. width?: string | number | undefined;
  145. border?: string | number | boolean | undefined;
  146. color?: string | undefined;
  147. maxHeight?: string | number | undefined;
  148. maxWidth?: string | number | undefined;
  149. minHeight?: string | number | undefined;
  150. minWidth?: string | number | undefined;
  151. opacity?: string | number | undefined;
  152. position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
  153. class?: any;
  154. theme?: string | undefined;
  155. elevation?: string | number | undefined;
  156. rounded?: string | number | boolean | undefined;
  157. subtitle?: string | undefined;
  158. thickness?: string | number | undefined;
  159. closeDelay?: string | number | undefined;
  160. openDelay?: string | number | undefined;
  161. } & {
  162. $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
  163. browse?: ((arg: {
  164. props: {
  165. onClick: (e: MouseEvent) => void;
  166. };
  167. }) => vue.VNodeChild) | undefined;
  168. default?: (() => vue.VNodeChild) | undefined;
  169. icon?: (() => vue.VNodeChild) | undefined;
  170. input?: ((arg: {
  171. inputNode: VNode;
  172. }) => vue.VNodeChild) | undefined;
  173. item?: ((arg: {
  174. file: File;
  175. props: {
  176. "onClick:remove": () => void;
  177. };
  178. }) => vue.VNodeChild) | undefined;
  179. title?: (() => vue.VNodeChild) | undefined;
  180. divider?: (() => vue.VNodeChild) | undefined;
  181. };
  182. 'v-slots'?: {
  183. browse?: false | ((arg: {
  184. props: {
  185. onClick: (e: MouseEvent) => void;
  186. };
  187. }) => vue.VNodeChild) | undefined;
  188. default?: false | (() => vue.VNodeChild) | undefined;
  189. icon?: false | (() => vue.VNodeChild) | undefined;
  190. input?: false | ((arg: {
  191. inputNode: VNode;
  192. }) => vue.VNodeChild) | undefined;
  193. item?: false | ((arg: {
  194. file: File;
  195. props: {
  196. "onClick:remove": () => void;
  197. };
  198. }) => vue.VNodeChild) | undefined;
  199. title?: false | (() => vue.VNodeChild) | undefined;
  200. divider?: false | (() => vue.VNodeChild) | undefined;
  201. } | undefined;
  202. } & {
  203. "v-slot:browse"?: false | ((arg: {
  204. props: {
  205. onClick: (e: MouseEvent) => void;
  206. };
  207. }) => vue.VNodeChild) | undefined;
  208. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  209. "v-slot:icon"?: false | (() => vue.VNodeChild) | undefined;
  210. "v-slot:input"?: false | ((arg: {
  211. inputNode: VNode;
  212. }) => vue.VNodeChild) | undefined;
  213. "v-slot:item"?: false | ((arg: {
  214. file: File;
  215. props: {
  216. "onClick:remove": () => void;
  217. };
  218. }) => vue.VNodeChild) | undefined;
  219. "v-slot:title"?: false | (() => vue.VNodeChild) | undefined;
  220. "v-slot:divider"?: false | (() => vue.VNodeChild) | undefined;
  221. } & {
  222. "onUpdate:modelValue"?: ((files: File[]) => any) | undefined;
  223. }, {
  224. length: string | number;
  225. style: vue.StyleValue;
  226. title: string;
  227. disabled: boolean;
  228. multiple: boolean;
  229. tag: string;
  230. icon: IconValue;
  231. modelValue: File | File[];
  232. rounded: string | number | boolean;
  233. tile: boolean;
  234. density: Density;
  235. scrim: string | boolean;
  236. clearable: boolean;
  237. showSize: boolean;
  238. browseText: string;
  239. dividerText: string;
  240. hideBrowse: boolean;
  241. }, true, {}, vue.SlotsType<Partial<{
  242. browse: (arg: {
  243. props: {
  244. onClick: (e: MouseEvent) => void;
  245. };
  246. }) => VNode[];
  247. default: () => VNode[];
  248. icon: () => VNode[];
  249. input: (arg: {
  250. inputNode: VNode;
  251. }) => VNode[];
  252. item: (arg: {
  253. file: File;
  254. props: {
  255. "onClick:remove": () => void;
  256. };
  257. }) => VNode[];
  258. title: () => VNode[];
  259. divider: () => VNode[];
  260. }>>, {
  261. P: {};
  262. B: {};
  263. D: {};
  264. C: {};
  265. M: {};
  266. Defaults: {};
  267. }, {
  268. length: string | number;
  269. style: vue.StyleValue;
  270. title: string;
  271. disabled: boolean;
  272. multiple: boolean;
  273. tag: string;
  274. icon: IconValue;
  275. modelValue: File | File[];
  276. tile: boolean;
  277. density: Density;
  278. scrim: string | boolean;
  279. clearable: boolean;
  280. showSize: boolean;
  281. browseText: string;
  282. dividerText: string;
  283. hideBrowse: boolean;
  284. } & {
  285. name?: string | undefined;
  286. location?: Anchor | null | undefined;
  287. height?: string | number | undefined;
  288. width?: string | number | undefined;
  289. border?: string | number | boolean | undefined;
  290. color?: string | undefined;
  291. maxHeight?: string | number | undefined;
  292. maxWidth?: string | number | undefined;
  293. minHeight?: string | number | undefined;
  294. minWidth?: string | number | undefined;
  295. opacity?: string | number | undefined;
  296. position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
  297. class?: any;
  298. theme?: string | undefined;
  299. elevation?: string | number | undefined;
  300. rounded?: string | number | boolean | undefined;
  301. subtitle?: string | undefined;
  302. thickness?: string | number | undefined;
  303. closeDelay?: string | number | undefined;
  304. openDelay?: string | number | undefined;
  305. } & {
  306. $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
  307. browse?: ((arg: {
  308. props: {
  309. onClick: (e: MouseEvent) => void;
  310. };
  311. }) => vue.VNodeChild) | undefined;
  312. default?: (() => vue.VNodeChild) | undefined;
  313. icon?: (() => vue.VNodeChild) | undefined;
  314. input?: ((arg: {
  315. inputNode: VNode;
  316. }) => vue.VNodeChild) | undefined;
  317. item?: ((arg: {
  318. file: File;
  319. props: {
  320. "onClick:remove": () => void;
  321. };
  322. }) => vue.VNodeChild) | undefined;
  323. title?: (() => vue.VNodeChild) | undefined;
  324. divider?: (() => vue.VNodeChild) | undefined;
  325. };
  326. 'v-slots'?: {
  327. browse?: false | ((arg: {
  328. props: {
  329. onClick: (e: MouseEvent) => void;
  330. };
  331. }) => vue.VNodeChild) | undefined;
  332. default?: false | (() => vue.VNodeChild) | undefined;
  333. icon?: false | (() => vue.VNodeChild) | undefined;
  334. input?: false | ((arg: {
  335. inputNode: VNode;
  336. }) => vue.VNodeChild) | undefined;
  337. item?: false | ((arg: {
  338. file: File;
  339. props: {
  340. "onClick:remove": () => void;
  341. };
  342. }) => vue.VNodeChild) | undefined;
  343. title?: false | (() => vue.VNodeChild) | undefined;
  344. divider?: false | (() => vue.VNodeChild) | undefined;
  345. } | undefined;
  346. } & {
  347. "v-slot:browse"?: false | ((arg: {
  348. props: {
  349. onClick: (e: MouseEvent) => void;
  350. };
  351. }) => vue.VNodeChild) | undefined;
  352. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  353. "v-slot:icon"?: false | (() => vue.VNodeChild) | undefined;
  354. "v-slot:input"?: false | ((arg: {
  355. inputNode: VNode;
  356. }) => vue.VNodeChild) | undefined;
  357. "v-slot:item"?: false | ((arg: {
  358. file: File;
  359. props: {
  360. "onClick:remove": () => void;
  361. };
  362. }) => vue.VNodeChild) | undefined;
  363. "v-slot:title"?: false | (() => vue.VNodeChild) | undefined;
  364. "v-slot:divider"?: false | (() => vue.VNodeChild) | undefined;
  365. } & {
  366. "onUpdate:modelValue"?: ((files: File[]) => any) | undefined;
  367. }, {}, {}, {}, {}, {
  368. length: string | number;
  369. style: vue.StyleValue;
  370. title: string;
  371. disabled: boolean;
  372. multiple: boolean;
  373. tag: string;
  374. icon: IconValue;
  375. modelValue: File | File[];
  376. rounded: string | number | boolean;
  377. tile: boolean;
  378. density: Density;
  379. scrim: string | boolean;
  380. clearable: boolean;
  381. showSize: boolean;
  382. browseText: string;
  383. dividerText: string;
  384. hideBrowse: boolean;
  385. }>;
  386. __isFragment?: never;
  387. __isTeleport?: never;
  388. __isSuspense?: never;
  389. } & vue.ComponentOptionsBase<{
  390. length: string | number;
  391. style: vue.StyleValue;
  392. title: string;
  393. disabled: boolean;
  394. multiple: boolean;
  395. tag: string;
  396. icon: IconValue;
  397. modelValue: File | File[];
  398. tile: boolean;
  399. density: Density;
  400. scrim: string | boolean;
  401. clearable: boolean;
  402. showSize: boolean;
  403. browseText: string;
  404. dividerText: string;
  405. hideBrowse: boolean;
  406. } & {
  407. name?: string | undefined;
  408. location?: Anchor | null | undefined;
  409. height?: string | number | undefined;
  410. width?: string | number | undefined;
  411. border?: string | number | boolean | undefined;
  412. color?: string | undefined;
  413. maxHeight?: string | number | undefined;
  414. maxWidth?: string | number | undefined;
  415. minHeight?: string | number | undefined;
  416. minWidth?: string | number | undefined;
  417. opacity?: string | number | undefined;
  418. position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
  419. class?: any;
  420. theme?: string | undefined;
  421. elevation?: string | number | undefined;
  422. rounded?: string | number | boolean | undefined;
  423. subtitle?: string | undefined;
  424. thickness?: string | number | undefined;
  425. closeDelay?: string | number | undefined;
  426. openDelay?: string | number | undefined;
  427. } & {
  428. $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
  429. browse?: ((arg: {
  430. props: {
  431. onClick: (e: MouseEvent) => void;
  432. };
  433. }) => vue.VNodeChild) | undefined;
  434. default?: (() => vue.VNodeChild) | undefined;
  435. icon?: (() => vue.VNodeChild) | undefined;
  436. input?: ((arg: {
  437. inputNode: VNode;
  438. }) => vue.VNodeChild) | undefined;
  439. item?: ((arg: {
  440. file: File;
  441. props: {
  442. "onClick:remove": () => void;
  443. };
  444. }) => vue.VNodeChild) | undefined;
  445. title?: (() => vue.VNodeChild) | undefined;
  446. divider?: (() => vue.VNodeChild) | undefined;
  447. };
  448. 'v-slots'?: {
  449. browse?: false | ((arg: {
  450. props: {
  451. onClick: (e: MouseEvent) => void;
  452. };
  453. }) => vue.VNodeChild) | undefined;
  454. default?: false | (() => vue.VNodeChild) | undefined;
  455. icon?: false | (() => vue.VNodeChild) | undefined;
  456. input?: false | ((arg: {
  457. inputNode: VNode;
  458. }) => vue.VNodeChild) | undefined;
  459. item?: false | ((arg: {
  460. file: File;
  461. props: {
  462. "onClick:remove": () => void;
  463. };
  464. }) => vue.VNodeChild) | undefined;
  465. title?: false | (() => vue.VNodeChild) | undefined;
  466. divider?: false | (() => vue.VNodeChild) | undefined;
  467. } | undefined;
  468. } & {
  469. "v-slot:browse"?: false | ((arg: {
  470. props: {
  471. onClick: (e: MouseEvent) => void;
  472. };
  473. }) => vue.VNodeChild) | undefined;
  474. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  475. "v-slot:icon"?: false | (() => vue.VNodeChild) | undefined;
  476. "v-slot:input"?: false | ((arg: {
  477. inputNode: VNode;
  478. }) => vue.VNodeChild) | undefined;
  479. "v-slot:item"?: false | ((arg: {
  480. file: File;
  481. props: {
  482. "onClick:remove": () => void;
  483. };
  484. }) => vue.VNodeChild) | undefined;
  485. "v-slot:title"?: false | (() => vue.VNodeChild) | undefined;
  486. "v-slot:divider"?: false | (() => vue.VNodeChild) | undefined;
  487. } & {
  488. "onUpdate:modelValue"?: ((files: File[]) => any) | undefined;
  489. }, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
  490. 'update:modelValue': (files: File[]) => true;
  491. }, string, {
  492. length: string | number;
  493. style: vue.StyleValue;
  494. title: string;
  495. disabled: boolean;
  496. multiple: boolean;
  497. tag: string;
  498. icon: IconValue;
  499. modelValue: File | File[];
  500. rounded: string | number | boolean;
  501. tile: boolean;
  502. density: Density;
  503. scrim: string | boolean;
  504. clearable: boolean;
  505. showSize: boolean;
  506. browseText: string;
  507. dividerText: string;
  508. hideBrowse: boolean;
  509. }, {}, string, vue.SlotsType<Partial<{
  510. browse: (arg: {
  511. props: {
  512. onClick: (e: MouseEvent) => void;
  513. };
  514. }) => VNode[];
  515. default: () => VNode[];
  516. icon: () => VNode[];
  517. input: (arg: {
  518. inputNode: VNode;
  519. }) => VNode[];
  520. item: (arg: {
  521. file: File;
  522. props: {
  523. "onClick:remove": () => void;
  524. };
  525. }) => VNode[];
  526. title: () => VNode[];
  527. divider: () => VNode[];
  528. }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
  529. theme: StringConstructor;
  530. tag: {
  531. type: StringConstructor;
  532. default: string;
  533. };
  534. rounded: {
  535. type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
  536. default: undefined;
  537. };
  538. tile: BooleanConstructor;
  539. position: {
  540. type: PropType<"fixed" | "absolute" | "relative" | "static" | "sticky">;
  541. validator: (v: any) => boolean;
  542. };
  543. location: PropType<Anchor | null>;
  544. elevation: {
  545. type: (StringConstructor | NumberConstructor)[];
  546. validator(v: any): boolean;
  547. };
  548. height: (StringConstructor | NumberConstructor)[];
  549. maxHeight: (StringConstructor | NumberConstructor)[];
  550. maxWidth: (StringConstructor | NumberConstructor)[];
  551. minHeight: (StringConstructor | NumberConstructor)[];
  552. minWidth: (StringConstructor | NumberConstructor)[];
  553. width: (StringConstructor | NumberConstructor)[];
  554. class: PropType<ClassValue>;
  555. style: {
  556. type: PropType<vue.StyleValue>;
  557. default: null;
  558. };
  559. border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
  560. color: StringConstructor;
  561. length: {
  562. type: PropType<string | number>;
  563. default: NonNullable<string | number>;
  564. };
  565. opacity: (StringConstructor | NumberConstructor)[];
  566. thickness: (StringConstructor | NumberConstructor)[];
  567. density: {
  568. type: PropType<Density>;
  569. default: string;
  570. validator: (v: any) => boolean;
  571. };
  572. closeDelay: (StringConstructor | NumberConstructor)[];
  573. openDelay: (StringConstructor | NumberConstructor)[];
  574. browseText: {
  575. type: StringConstructor;
  576. default: string;
  577. };
  578. dividerText: {
  579. type: StringConstructor;
  580. default: string;
  581. };
  582. title: {
  583. type: StringConstructor;
  584. default: string;
  585. };
  586. subtitle: StringConstructor;
  587. icon: {
  588. type: PropType<IconValue>;
  589. default: string;
  590. };
  591. modelValue: {
  592. type: PropType<File[] | File>;
  593. default: null;
  594. validator: (val: any) => boolean;
  595. };
  596. clearable: BooleanConstructor;
  597. disabled: BooleanConstructor;
  598. hideBrowse: BooleanConstructor;
  599. multiple: BooleanConstructor;
  600. scrim: {
  601. type: (StringConstructor | BooleanConstructor)[];
  602. default: boolean;
  603. };
  604. showSize: BooleanConstructor;
  605. name: StringConstructor;
  606. }, vue.ExtractPropTypes<{
  607. theme: StringConstructor;
  608. tag: {
  609. type: StringConstructor;
  610. default: string;
  611. };
  612. rounded: {
  613. type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
  614. default: undefined;
  615. };
  616. tile: BooleanConstructor;
  617. position: {
  618. type: PropType<"fixed" | "absolute" | "relative" | "static" | "sticky">;
  619. validator: (v: any) => boolean;
  620. };
  621. location: PropType<Anchor | null>;
  622. elevation: {
  623. type: (StringConstructor | NumberConstructor)[];
  624. validator(v: any): boolean;
  625. };
  626. height: (StringConstructor | NumberConstructor)[];
  627. maxHeight: (StringConstructor | NumberConstructor)[];
  628. maxWidth: (StringConstructor | NumberConstructor)[];
  629. minHeight: (StringConstructor | NumberConstructor)[];
  630. minWidth: (StringConstructor | NumberConstructor)[];
  631. width: (StringConstructor | NumberConstructor)[];
  632. class: PropType<ClassValue>;
  633. style: {
  634. type: PropType<vue.StyleValue>;
  635. default: null;
  636. };
  637. border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
  638. color: StringConstructor;
  639. length: {
  640. type: PropType<string | number>;
  641. default: NonNullable<string | number>;
  642. };
  643. opacity: (StringConstructor | NumberConstructor)[];
  644. thickness: (StringConstructor | NumberConstructor)[];
  645. density: {
  646. type: PropType<Density>;
  647. default: string;
  648. validator: (v: any) => boolean;
  649. };
  650. closeDelay: (StringConstructor | NumberConstructor)[];
  651. openDelay: (StringConstructor | NumberConstructor)[];
  652. browseText: {
  653. type: StringConstructor;
  654. default: string;
  655. };
  656. dividerText: {
  657. type: StringConstructor;
  658. default: string;
  659. };
  660. title: {
  661. type: StringConstructor;
  662. default: string;
  663. };
  664. subtitle: StringConstructor;
  665. icon: {
  666. type: PropType<IconValue>;
  667. default: string;
  668. };
  669. modelValue: {
  670. type: PropType<File[] | File>;
  671. default: null;
  672. validator: (val: any) => boolean;
  673. };
  674. clearable: BooleanConstructor;
  675. disabled: BooleanConstructor;
  676. hideBrowse: BooleanConstructor;
  677. multiple: BooleanConstructor;
  678. scrim: {
  679. type: (StringConstructor | BooleanConstructor)[];
  680. default: boolean;
  681. };
  682. showSize: BooleanConstructor;
  683. name: StringConstructor;
  684. }>>;
  685. type VFileUpload = InstanceType<typeof VFileUpload>;
  686. declare const allowedVariants: readonly ["elevated", "flat", "tonal", "outlined", "text", "plain"];
  687. type Variant = typeof allowedVariants[number];
  688. interface RippleDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {
  689. value?: boolean | {
  690. class: string;
  691. };
  692. modifiers: {
  693. center?: boolean;
  694. circle?: boolean;
  695. stop?: boolean;
  696. };
  697. }
  698. type ListItemSlot = {
  699. isActive: boolean;
  700. isOpen: boolean;
  701. isSelected: boolean;
  702. isIndeterminate: boolean;
  703. select: (value: boolean) => void;
  704. };
  705. type ListItemTitleSlot = {
  706. title?: string | number;
  707. };
  708. type ListItemSubtitleSlot = {
  709. subtitle?: string | number;
  710. };
  711. declare const VFileUploadItem: {
  712. new (...args: any[]): vue.CreateComponentPublicInstance<{
  713. replace: boolean;
  714. variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
  715. exact: boolean;
  716. file: File;
  717. border: string | number | boolean;
  718. nav: boolean;
  719. style: vue.StyleValue;
  720. disabled: boolean;
  721. tag: string;
  722. lines: false | "one" | "two" | "three";
  723. rounded: string | number | boolean;
  724. tile: boolean;
  725. density: Density;
  726. slim: boolean;
  727. ripple: boolean | {
  728. class: string;
  729. } | undefined;
  730. clearable: boolean;
  731. showSize: boolean;
  732. fileIcon: string;
  733. } & {
  734. link?: boolean | undefined;
  735. height?: string | number | undefined;
  736. width?: string | number | undefined;
  737. active?: boolean | undefined;
  738. color?: string | undefined;
  739. maxHeight?: string | number | undefined;
  740. maxWidth?: string | number | undefined;
  741. minHeight?: string | number | undefined;
  742. minWidth?: string | number | undefined;
  743. value?: any;
  744. title?: string | number | undefined;
  745. class?: any;
  746. theme?: string | undefined;
  747. to?: vue_router.RouteLocationRaw | undefined;
  748. onClick?: ((args_0: MouseEvent | KeyboardEvent) => void) | undefined;
  749. onClickOnce?: ((args_0: MouseEvent) => void) | undefined;
  750. href?: string | undefined;
  751. elevation?: string | number | undefined;
  752. baseColor?: string | undefined;
  753. activeColor?: string | undefined;
  754. prependIcon?: IconValue | undefined;
  755. appendIcon?: IconValue | undefined;
  756. activeClass?: string | undefined;
  757. appendAvatar?: string | undefined;
  758. prependAvatar?: string | undefined;
  759. subtitle?: string | number | undefined;
  760. } & {
  761. $children?: vue.VNodeChild | ((arg: ListItemSlot) => vue.VNodeChild) | {
  762. clear?: ((arg: {
  763. props: {
  764. onClick: () => void;
  765. };
  766. }) => vue.VNodeChild) | undefined;
  767. prepend?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  768. append?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  769. default?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  770. title?: ((arg: ListItemTitleSlot) => vue.VNodeChild) | undefined;
  771. subtitle?: ((arg: ListItemSubtitleSlot) => vue.VNodeChild) | undefined;
  772. };
  773. 'v-slots'?: {
  774. clear?: false | ((arg: {
  775. props: {
  776. onClick: () => void;
  777. };
  778. }) => vue.VNodeChild) | undefined;
  779. prepend?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  780. append?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  781. default?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  782. title?: false | ((arg: ListItemTitleSlot) => vue.VNodeChild) | undefined;
  783. subtitle?: false | ((arg: ListItemSubtitleSlot) => vue.VNodeChild) | undefined;
  784. } | undefined;
  785. } & {
  786. "v-slot:clear"?: false | ((arg: {
  787. props: {
  788. onClick: () => void;
  789. };
  790. }) => vue.VNodeChild) | undefined;
  791. "v-slot:prepend"?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  792. "v-slot:append"?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  793. "v-slot:default"?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  794. "v-slot:title"?: false | ((arg: ListItemTitleSlot) => vue.VNodeChild) | undefined;
  795. "v-slot:subtitle"?: false | ((arg: ListItemSubtitleSlot) => vue.VNodeChild) | undefined;
  796. } & {
  797. onClick?: ((e: MouseEvent | KeyboardEvent) => any) | undefined;
  798. "onClick:remove"?: (() => any) | undefined;
  799. }, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
  800. 'click:remove': () => true;
  801. click: (e: MouseEvent | KeyboardEvent) => true;
  802. }, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
  803. replace: boolean;
  804. variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
  805. exact: boolean;
  806. file: File;
  807. border: string | number | boolean;
  808. nav: boolean;
  809. style: vue.StyleValue;
  810. disabled: boolean;
  811. tag: string;
  812. lines: false | "one" | "two" | "three";
  813. rounded: string | number | boolean;
  814. tile: boolean;
  815. density: Density;
  816. slim: boolean;
  817. ripple: boolean | {
  818. class: string;
  819. } | undefined;
  820. clearable: boolean;
  821. showSize: boolean;
  822. fileIcon: string;
  823. } & {
  824. link?: boolean | undefined;
  825. height?: string | number | undefined;
  826. width?: string | number | undefined;
  827. active?: boolean | undefined;
  828. color?: string | undefined;
  829. maxHeight?: string | number | undefined;
  830. maxWidth?: string | number | undefined;
  831. minHeight?: string | number | undefined;
  832. minWidth?: string | number | undefined;
  833. value?: any;
  834. title?: string | number | undefined;
  835. class?: any;
  836. theme?: string | undefined;
  837. to?: vue_router.RouteLocationRaw | undefined;
  838. onClick?: ((args_0: MouseEvent | KeyboardEvent) => void) | undefined;
  839. onClickOnce?: ((args_0: MouseEvent) => void) | undefined;
  840. href?: string | undefined;
  841. elevation?: string | number | undefined;
  842. baseColor?: string | undefined;
  843. activeColor?: string | undefined;
  844. prependIcon?: IconValue | undefined;
  845. appendIcon?: IconValue | undefined;
  846. activeClass?: string | undefined;
  847. appendAvatar?: string | undefined;
  848. prependAvatar?: string | undefined;
  849. subtitle?: string | number | undefined;
  850. } & {
  851. $children?: vue.VNodeChild | ((arg: ListItemSlot) => vue.VNodeChild) | {
  852. clear?: ((arg: {
  853. props: {
  854. onClick: () => void;
  855. };
  856. }) => vue.VNodeChild) | undefined;
  857. prepend?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  858. append?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  859. default?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  860. title?: ((arg: ListItemTitleSlot) => vue.VNodeChild) | undefined;
  861. subtitle?: ((arg: ListItemSubtitleSlot) => vue.VNodeChild) | undefined;
  862. };
  863. 'v-slots'?: {
  864. clear?: false | ((arg: {
  865. props: {
  866. onClick: () => void;
  867. };
  868. }) => vue.VNodeChild) | undefined;
  869. prepend?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  870. append?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  871. default?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  872. title?: false | ((arg: ListItemTitleSlot) => vue.VNodeChild) | undefined;
  873. subtitle?: false | ((arg: ListItemSubtitleSlot) => vue.VNodeChild) | undefined;
  874. } | undefined;
  875. } & {
  876. "v-slot:clear"?: false | ((arg: {
  877. props: {
  878. onClick: () => void;
  879. };
  880. }) => vue.VNodeChild) | undefined;
  881. "v-slot:prepend"?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  882. "v-slot:append"?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  883. "v-slot:default"?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  884. "v-slot:title"?: false | ((arg: ListItemTitleSlot) => vue.VNodeChild) | undefined;
  885. "v-slot:subtitle"?: false | ((arg: ListItemSubtitleSlot) => vue.VNodeChild) | undefined;
  886. } & {
  887. onClick?: ((e: MouseEvent | KeyboardEvent) => any) | undefined;
  888. "onClick:remove"?: (() => any) | undefined;
  889. }, {
  890. replace: boolean;
  891. link: boolean;
  892. variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
  893. exact: boolean;
  894. file: File;
  895. active: boolean;
  896. border: string | number | boolean;
  897. nav: boolean;
  898. style: vue.StyleValue;
  899. disabled: boolean;
  900. tag: string;
  901. lines: false | "one" | "two" | "three";
  902. rounded: string | number | boolean;
  903. tile: boolean;
  904. density: Density;
  905. slim: boolean;
  906. ripple: boolean | {
  907. class: string;
  908. } | undefined;
  909. clearable: boolean;
  910. showSize: boolean;
  911. fileIcon: string;
  912. }, true, {}, vue.SlotsType<Partial<{
  913. clear: (arg: {
  914. props: {
  915. onClick: () => void;
  916. };
  917. }) => vue.VNode[];
  918. prepend: (arg: ListItemSlot) => vue.VNode[];
  919. append: (arg: ListItemSlot) => vue.VNode[];
  920. default: (arg: ListItemSlot) => vue.VNode[];
  921. title: (arg: ListItemTitleSlot) => vue.VNode[];
  922. subtitle: (arg: ListItemSubtitleSlot) => vue.VNode[];
  923. }>>, {
  924. P: {};
  925. B: {};
  926. D: {};
  927. C: {};
  928. M: {};
  929. Defaults: {};
  930. }, {
  931. replace: boolean;
  932. variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
  933. exact: boolean;
  934. file: File;
  935. border: string | number | boolean;
  936. nav: boolean;
  937. style: vue.StyleValue;
  938. disabled: boolean;
  939. tag: string;
  940. lines: false | "one" | "two" | "three";
  941. rounded: string | number | boolean;
  942. tile: boolean;
  943. density: Density;
  944. slim: boolean;
  945. ripple: boolean | {
  946. class: string;
  947. } | undefined;
  948. clearable: boolean;
  949. showSize: boolean;
  950. fileIcon: string;
  951. } & {
  952. link?: boolean | undefined;
  953. height?: string | number | undefined;
  954. width?: string | number | undefined;
  955. active?: boolean | undefined;
  956. color?: string | undefined;
  957. maxHeight?: string | number | undefined;
  958. maxWidth?: string | number | undefined;
  959. minHeight?: string | number | undefined;
  960. minWidth?: string | number | undefined;
  961. value?: any;
  962. title?: string | number | undefined;
  963. class?: any;
  964. theme?: string | undefined;
  965. to?: vue_router.RouteLocationRaw | undefined;
  966. onClick?: ((args_0: MouseEvent | KeyboardEvent) => void) | undefined;
  967. onClickOnce?: ((args_0: MouseEvent) => void) | undefined;
  968. href?: string | undefined;
  969. elevation?: string | number | undefined;
  970. baseColor?: string | undefined;
  971. activeColor?: string | undefined;
  972. prependIcon?: IconValue | undefined;
  973. appendIcon?: IconValue | undefined;
  974. activeClass?: string | undefined;
  975. appendAvatar?: string | undefined;
  976. prependAvatar?: string | undefined;
  977. subtitle?: string | number | undefined;
  978. } & {
  979. $children?: vue.VNodeChild | ((arg: ListItemSlot) => vue.VNodeChild) | {
  980. clear?: ((arg: {
  981. props: {
  982. onClick: () => void;
  983. };
  984. }) => vue.VNodeChild) | undefined;
  985. prepend?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  986. append?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  987. default?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  988. title?: ((arg: ListItemTitleSlot) => vue.VNodeChild) | undefined;
  989. subtitle?: ((arg: ListItemSubtitleSlot) => vue.VNodeChild) | undefined;
  990. };
  991. 'v-slots'?: {
  992. clear?: false | ((arg: {
  993. props: {
  994. onClick: () => void;
  995. };
  996. }) => vue.VNodeChild) | undefined;
  997. prepend?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  998. append?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  999. default?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  1000. title?: false | ((arg: ListItemTitleSlot) => vue.VNodeChild) | undefined;
  1001. subtitle?: false | ((arg: ListItemSubtitleSlot) => vue.VNodeChild) | undefined;
  1002. } | undefined;
  1003. } & {
  1004. "v-slot:clear"?: false | ((arg: {
  1005. props: {
  1006. onClick: () => void;
  1007. };
  1008. }) => vue.VNodeChild) | undefined;
  1009. "v-slot:prepend"?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  1010. "v-slot:append"?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  1011. "v-slot:default"?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  1012. "v-slot:title"?: false | ((arg: ListItemTitleSlot) => vue.VNodeChild) | undefined;
  1013. "v-slot:subtitle"?: false | ((arg: ListItemSubtitleSlot) => vue.VNodeChild) | undefined;
  1014. } & {
  1015. onClick?: ((e: MouseEvent | KeyboardEvent) => any) | undefined;
  1016. "onClick:remove"?: (() => any) | undefined;
  1017. }, {}, {}, {}, {}, {
  1018. replace: boolean;
  1019. link: boolean;
  1020. variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
  1021. exact: boolean;
  1022. file: File;
  1023. active: boolean;
  1024. border: string | number | boolean;
  1025. nav: boolean;
  1026. style: vue.StyleValue;
  1027. disabled: boolean;
  1028. tag: string;
  1029. lines: false | "one" | "two" | "three";
  1030. rounded: string | number | boolean;
  1031. tile: boolean;
  1032. density: Density;
  1033. slim: boolean;
  1034. ripple: boolean | {
  1035. class: string;
  1036. } | undefined;
  1037. clearable: boolean;
  1038. showSize: boolean;
  1039. fileIcon: string;
  1040. }>;
  1041. __isFragment?: never;
  1042. __isTeleport?: never;
  1043. __isSuspense?: never;
  1044. } & vue.ComponentOptionsBase<{
  1045. replace: boolean;
  1046. variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
  1047. exact: boolean;
  1048. file: File;
  1049. border: string | number | boolean;
  1050. nav: boolean;
  1051. style: vue.StyleValue;
  1052. disabled: boolean;
  1053. tag: string;
  1054. lines: false | "one" | "two" | "three";
  1055. rounded: string | number | boolean;
  1056. tile: boolean;
  1057. density: Density;
  1058. slim: boolean;
  1059. ripple: boolean | {
  1060. class: string;
  1061. } | undefined;
  1062. clearable: boolean;
  1063. showSize: boolean;
  1064. fileIcon: string;
  1065. } & {
  1066. link?: boolean | undefined;
  1067. height?: string | number | undefined;
  1068. width?: string | number | undefined;
  1069. active?: boolean | undefined;
  1070. color?: string | undefined;
  1071. maxHeight?: string | number | undefined;
  1072. maxWidth?: string | number | undefined;
  1073. minHeight?: string | number | undefined;
  1074. minWidth?: string | number | undefined;
  1075. value?: any;
  1076. title?: string | number | undefined;
  1077. class?: any;
  1078. theme?: string | undefined;
  1079. to?: vue_router.RouteLocationRaw | undefined;
  1080. onClick?: ((args_0: MouseEvent | KeyboardEvent) => void) | undefined;
  1081. onClickOnce?: ((args_0: MouseEvent) => void) | undefined;
  1082. href?: string | undefined;
  1083. elevation?: string | number | undefined;
  1084. baseColor?: string | undefined;
  1085. activeColor?: string | undefined;
  1086. prependIcon?: IconValue | undefined;
  1087. appendIcon?: IconValue | undefined;
  1088. activeClass?: string | undefined;
  1089. appendAvatar?: string | undefined;
  1090. prependAvatar?: string | undefined;
  1091. subtitle?: string | number | undefined;
  1092. } & {
  1093. $children?: vue.VNodeChild | ((arg: ListItemSlot) => vue.VNodeChild) | {
  1094. clear?: ((arg: {
  1095. props: {
  1096. onClick: () => void;
  1097. };
  1098. }) => vue.VNodeChild) | undefined;
  1099. prepend?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  1100. append?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  1101. default?: ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  1102. title?: ((arg: ListItemTitleSlot) => vue.VNodeChild) | undefined;
  1103. subtitle?: ((arg: ListItemSubtitleSlot) => vue.VNodeChild) | undefined;
  1104. };
  1105. 'v-slots'?: {
  1106. clear?: false | ((arg: {
  1107. props: {
  1108. onClick: () => void;
  1109. };
  1110. }) => vue.VNodeChild) | undefined;
  1111. prepend?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  1112. append?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  1113. default?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  1114. title?: false | ((arg: ListItemTitleSlot) => vue.VNodeChild) | undefined;
  1115. subtitle?: false | ((arg: ListItemSubtitleSlot) => vue.VNodeChild) | undefined;
  1116. } | undefined;
  1117. } & {
  1118. "v-slot:clear"?: false | ((arg: {
  1119. props: {
  1120. onClick: () => void;
  1121. };
  1122. }) => vue.VNodeChild) | undefined;
  1123. "v-slot:prepend"?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  1124. "v-slot:append"?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  1125. "v-slot:default"?: false | ((arg: ListItemSlot) => vue.VNodeChild) | undefined;
  1126. "v-slot:title"?: false | ((arg: ListItemTitleSlot) => vue.VNodeChild) | undefined;
  1127. "v-slot:subtitle"?: false | ((arg: ListItemSubtitleSlot) => vue.VNodeChild) | undefined;
  1128. } & {
  1129. onClick?: ((e: MouseEvent | KeyboardEvent) => any) | undefined;
  1130. "onClick:remove"?: (() => any) | undefined;
  1131. }, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
  1132. 'click:remove': () => true;
  1133. click: (e: MouseEvent | KeyboardEvent) => true;
  1134. }, string, {
  1135. replace: boolean;
  1136. link: boolean;
  1137. variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
  1138. exact: boolean;
  1139. file: File;
  1140. active: boolean;
  1141. border: string | number | boolean;
  1142. nav: boolean;
  1143. style: vue.StyleValue;
  1144. disabled: boolean;
  1145. tag: string;
  1146. lines: false | "one" | "two" | "three";
  1147. rounded: string | number | boolean;
  1148. tile: boolean;
  1149. density: Density;
  1150. slim: boolean;
  1151. ripple: boolean | {
  1152. class: string;
  1153. } | undefined;
  1154. clearable: boolean;
  1155. showSize: boolean;
  1156. fileIcon: string;
  1157. }, {}, string, vue.SlotsType<Partial<{
  1158. clear: (arg: {
  1159. props: {
  1160. onClick: () => void;
  1161. };
  1162. }) => vue.VNode[];
  1163. prepend: (arg: ListItemSlot) => vue.VNode[];
  1164. append: (arg: ListItemSlot) => vue.VNode[];
  1165. default: (arg: ListItemSlot) => vue.VNode[];
  1166. title: (arg: ListItemTitleSlot) => vue.VNode[];
  1167. subtitle: (arg: ListItemSubtitleSlot) => vue.VNode[];
  1168. }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
  1169. color: StringConstructor;
  1170. variant: Omit<{
  1171. type: PropType<Variant>;
  1172. default: string;
  1173. validator: (v: any) => boolean;
  1174. }, "type" | "default"> & {
  1175. type: PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
  1176. default: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
  1177. };
  1178. theme: StringConstructor;
  1179. tag: {
  1180. type: StringConstructor;
  1181. default: string;
  1182. };
  1183. href: StringConstructor;
  1184. replace: BooleanConstructor;
  1185. to: PropType<vue_router.RouteLocationRaw>;
  1186. exact: BooleanConstructor;
  1187. rounded: Omit<{
  1188. type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
  1189. default: undefined;
  1190. }, "type" | "default"> & {
  1191. type: PropType<string | number | boolean>;
  1192. default: NonNullable<string | number | boolean>;
  1193. };
  1194. tile: BooleanConstructor;
  1195. elevation: {
  1196. type: (StringConstructor | NumberConstructor)[];
  1197. validator(v: any): boolean;
  1198. };
  1199. height: (StringConstructor | NumberConstructor)[];
  1200. maxHeight: (StringConstructor | NumberConstructor)[];
  1201. maxWidth: (StringConstructor | NumberConstructor)[];
  1202. minHeight: (StringConstructor | NumberConstructor)[];
  1203. minWidth: (StringConstructor | NumberConstructor)[];
  1204. width: (StringConstructor | NumberConstructor)[];
  1205. density: {
  1206. type: PropType<Density>;
  1207. default: string;
  1208. validator: (v: any) => boolean;
  1209. };
  1210. class: PropType<ClassValue>;
  1211. style: {
  1212. type: PropType<vue.StyleValue>;
  1213. default: null;
  1214. };
  1215. border: {
  1216. type: PropType<string | number | boolean>;
  1217. default: NonNullable<string | number | boolean>;
  1218. };
  1219. active: {
  1220. type: BooleanConstructor;
  1221. default: undefined;
  1222. };
  1223. activeClass: StringConstructor;
  1224. activeColor: StringConstructor;
  1225. appendAvatar: StringConstructor;
  1226. appendIcon: PropType<IconValue>;
  1227. baseColor: StringConstructor;
  1228. disabled: BooleanConstructor;
  1229. lines: {
  1230. type: PropType<false | "one" | "two" | "three">;
  1231. default: NonNullable<false | "one" | "two" | "three">;
  1232. };
  1233. link: {
  1234. type: BooleanConstructor;
  1235. default: undefined;
  1236. };
  1237. nav: BooleanConstructor;
  1238. prependAvatar: StringConstructor;
  1239. prependIcon: PropType<IconValue>;
  1240. ripple: {
  1241. type: PropType<RippleDirectiveBinding["value"]>;
  1242. default: boolean;
  1243. };
  1244. slim: BooleanConstructor;
  1245. subtitle: (StringConstructor | NumberConstructor)[];
  1246. title: (StringConstructor | NumberConstructor)[];
  1247. value: null;
  1248. onClick: PropType<(args_0: MouseEvent | KeyboardEvent) => void>;
  1249. onClickOnce: PropType<(args_0: MouseEvent) => void>;
  1250. clearable: BooleanConstructor;
  1251. file: {
  1252. type: PropType<File>;
  1253. default: null;
  1254. };
  1255. fileIcon: {
  1256. type: StringConstructor;
  1257. default: string;
  1258. };
  1259. showSize: BooleanConstructor;
  1260. }, vue.ExtractPropTypes<{
  1261. color: StringConstructor;
  1262. variant: Omit<{
  1263. type: PropType<Variant>;
  1264. default: string;
  1265. validator: (v: any) => boolean;
  1266. }, "type" | "default"> & {
  1267. type: PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
  1268. default: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
  1269. };
  1270. theme: StringConstructor;
  1271. tag: {
  1272. type: StringConstructor;
  1273. default: string;
  1274. };
  1275. href: StringConstructor;
  1276. replace: BooleanConstructor;
  1277. to: PropType<vue_router.RouteLocationRaw>;
  1278. exact: BooleanConstructor;
  1279. rounded: Omit<{
  1280. type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
  1281. default: undefined;
  1282. }, "type" | "default"> & {
  1283. type: PropType<string | number | boolean>;
  1284. default: NonNullable<string | number | boolean>;
  1285. };
  1286. tile: BooleanConstructor;
  1287. elevation: {
  1288. type: (StringConstructor | NumberConstructor)[];
  1289. validator(v: any): boolean;
  1290. };
  1291. height: (StringConstructor | NumberConstructor)[];
  1292. maxHeight: (StringConstructor | NumberConstructor)[];
  1293. maxWidth: (StringConstructor | NumberConstructor)[];
  1294. minHeight: (StringConstructor | NumberConstructor)[];
  1295. minWidth: (StringConstructor | NumberConstructor)[];
  1296. width: (StringConstructor | NumberConstructor)[];
  1297. density: {
  1298. type: PropType<Density>;
  1299. default: string;
  1300. validator: (v: any) => boolean;
  1301. };
  1302. class: PropType<ClassValue>;
  1303. style: {
  1304. type: PropType<vue.StyleValue>;
  1305. default: null;
  1306. };
  1307. border: {
  1308. type: PropType<string | number | boolean>;
  1309. default: NonNullable<string | number | boolean>;
  1310. };
  1311. active: {
  1312. type: BooleanConstructor;
  1313. default: undefined;
  1314. };
  1315. activeClass: StringConstructor;
  1316. activeColor: StringConstructor;
  1317. appendAvatar: StringConstructor;
  1318. appendIcon: PropType<IconValue>;
  1319. baseColor: StringConstructor;
  1320. disabled: BooleanConstructor;
  1321. lines: {
  1322. type: PropType<false | "one" | "two" | "three">;
  1323. default: NonNullable<false | "one" | "two" | "three">;
  1324. };
  1325. link: {
  1326. type: BooleanConstructor;
  1327. default: undefined;
  1328. };
  1329. nav: BooleanConstructor;
  1330. prependAvatar: StringConstructor;
  1331. prependIcon: PropType<IconValue>;
  1332. ripple: {
  1333. type: PropType<RippleDirectiveBinding["value"]>;
  1334. default: boolean;
  1335. };
  1336. slim: BooleanConstructor;
  1337. subtitle: (StringConstructor | NumberConstructor)[];
  1338. title: (StringConstructor | NumberConstructor)[];
  1339. value: null;
  1340. onClick: PropType<(args_0: MouseEvent | KeyboardEvent) => void>;
  1341. onClickOnce: PropType<(args_0: MouseEvent) => void>;
  1342. clearable: BooleanConstructor;
  1343. file: {
  1344. type: PropType<File>;
  1345. default: null;
  1346. };
  1347. fileIcon: {
  1348. type: StringConstructor;
  1349. default: string;
  1350. };
  1351. showSize: BooleanConstructor;
  1352. }>>;
  1353. type VFileUploadItem = InstanceType<typeof VFileUploadItem>;
  1354. export { VFileUpload, VFileUploadItem };