index.d.mts 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618
  1. import * as vue from 'vue';
  2. import { ComponentPropsOptions, ExtractPropTypes, ComponentInternalInstance, Ref, ComputedRef, PropType, ComponentPublicInstance, FunctionalComponent, DirectiveBinding } from 'vue';
  3. // @ts-ignore
  4. import * as vue_router from 'vue-router';
  5. type ClassValue = any;
  6. declare const block: readonly ["top", "bottom"];
  7. declare const inline: readonly ["start", "end", "left", "right"];
  8. type Tblock = typeof block[number];
  9. type Tinline = typeof inline[number];
  10. type Anchor = Tblock | Tinline | 'center' | 'center center' | `${Tblock} ${Tinline | 'center'}` | `${Tinline} ${Tblock | 'center'}`;
  11. interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
  12. filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): Partial<Pick<T, U>>;
  13. }
  14. interface GroupItem {
  15. id: number;
  16. value: Ref<unknown>;
  17. disabled: Ref<boolean | undefined>;
  18. useIndexAsValue?: boolean;
  19. }
  20. interface GroupProvide {
  21. register: (item: GroupItem, cmp: ComponentInternalInstance) => void;
  22. unregister: (id: number) => void;
  23. select: (id: number, value: boolean) => void;
  24. selected: Ref<Readonly<number[]>>;
  25. isSelected: (id: number) => boolean;
  26. prev: () => void;
  27. next: () => void;
  28. selectedClass: Ref<string | undefined>;
  29. items: ComputedRef<{
  30. id: number;
  31. value: unknown;
  32. disabled: boolean | undefined;
  33. }[]>;
  34. disabled: Ref<boolean | undefined>;
  35. getItemIndex: (value: unknown) => number;
  36. }
  37. interface GroupItemProvide {
  38. id: number;
  39. isSelected: Ref<boolean>;
  40. isFirst: Ref<boolean>;
  41. isLast: Ref<boolean>;
  42. toggle: () => void;
  43. select: (value: boolean) => void;
  44. selectedClass: Ref<(string | undefined)[] | false>;
  45. value: Ref<unknown>;
  46. disabled: Ref<boolean | undefined>;
  47. group: GroupProvide;
  48. }
  49. type Density = null | 'default' | 'comfortable' | 'compact';
  50. declare const allowedVariants: readonly ["elevated", "flat", "tonal", "outlined", "text", "plain"];
  51. type Variant = typeof allowedVariants[number];
  52. type JSXComponent<Props = any> = {
  53. new (): ComponentPublicInstance<Props>;
  54. } | FunctionalComponent<Props>;
  55. type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
  56. declare const IconValue: PropType<IconValue>;
  57. interface RippleDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {
  58. value?: boolean | {
  59. class: string;
  60. };
  61. modifiers: {
  62. center?: boolean;
  63. circle?: boolean;
  64. stop?: boolean;
  65. };
  66. }
  67. declare const VBtn: {
  68. new (...args: any[]): vue.CreateComponentPublicInstance<{
  69. symbol: any;
  70. replace: boolean;
  71. flat: boolean;
  72. variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
  73. exact: boolean;
  74. block: boolean;
  75. style: vue.StyleValue;
  76. disabled: boolean;
  77. size: string | number;
  78. readonly: boolean;
  79. tag: string;
  80. tile: boolean;
  81. density: Density;
  82. slim: boolean;
  83. stacked: boolean;
  84. ripple: boolean | {
  85. class: string;
  86. } | undefined;
  87. } & {
  88. location?: Anchor | null | undefined;
  89. height?: string | number | undefined;
  90. width?: string | number | undefined;
  91. active?: boolean | undefined;
  92. border?: string | number | boolean | undefined;
  93. color?: string | undefined;
  94. maxHeight?: string | number | undefined;
  95. maxWidth?: string | number | undefined;
  96. minHeight?: string | number | undefined;
  97. minWidth?: string | number | undefined;
  98. position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
  99. value?: any;
  100. loading?: string | boolean | undefined;
  101. text?: string | undefined;
  102. class?: any;
  103. theme?: string | undefined;
  104. to?: vue_router.RouteLocationRaw | undefined;
  105. icon?: boolean | IconValue | undefined;
  106. href?: string | undefined;
  107. elevation?: string | number | undefined;
  108. rounded?: string | number | boolean | undefined;
  109. baseColor?: string | undefined;
  110. selectedClass?: string | undefined;
  111. activeColor?: string | undefined;
  112. prependIcon?: IconValue | undefined;
  113. appendIcon?: IconValue | undefined;
  114. } & {
  115. $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
  116. default?: (() => vue.VNodeChild) | undefined;
  117. prepend?: (() => vue.VNodeChild) | undefined;
  118. append?: (() => vue.VNodeChild) | undefined;
  119. loader?: (() => vue.VNodeChild) | undefined;
  120. };
  121. 'v-slots'?: {
  122. default?: false | (() => vue.VNodeChild) | undefined;
  123. prepend?: false | (() => vue.VNodeChild) | undefined;
  124. append?: false | (() => vue.VNodeChild) | undefined;
  125. loader?: false | (() => vue.VNodeChild) | undefined;
  126. } | undefined;
  127. } & {
  128. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  129. "v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined;
  130. "v-slot:append"?: false | (() => vue.VNodeChild) | undefined;
  131. "v-slot:loader"?: false | (() => vue.VNodeChild) | undefined;
  132. } & {
  133. "onGroup:selected"?: ((val: {
  134. value: boolean;
  135. }) => any) | undefined;
  136. }, {
  137. group: GroupItemProvide | null;
  138. }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
  139. 'group:selected': (val: {
  140. value: boolean;
  141. }) => true;
  142. }, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
  143. symbol: any;
  144. replace: boolean;
  145. flat: boolean;
  146. variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
  147. exact: boolean;
  148. block: boolean;
  149. style: vue.StyleValue;
  150. disabled: boolean;
  151. size: string | number;
  152. readonly: boolean;
  153. tag: string;
  154. tile: boolean;
  155. density: Density;
  156. slim: boolean;
  157. stacked: boolean;
  158. ripple: boolean | {
  159. class: string;
  160. } | undefined;
  161. } & {
  162. location?: Anchor | null | undefined;
  163. height?: string | number | undefined;
  164. width?: string | number | undefined;
  165. active?: boolean | undefined;
  166. border?: string | number | boolean | undefined;
  167. color?: string | undefined;
  168. maxHeight?: string | number | undefined;
  169. maxWidth?: string | number | undefined;
  170. minHeight?: string | number | undefined;
  171. minWidth?: string | number | undefined;
  172. position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
  173. value?: any;
  174. loading?: string | boolean | undefined;
  175. text?: string | undefined;
  176. class?: any;
  177. theme?: string | undefined;
  178. to?: vue_router.RouteLocationRaw | undefined;
  179. icon?: boolean | IconValue | undefined;
  180. href?: string | undefined;
  181. elevation?: string | number | undefined;
  182. rounded?: string | number | boolean | undefined;
  183. baseColor?: string | undefined;
  184. selectedClass?: string | undefined;
  185. activeColor?: string | undefined;
  186. prependIcon?: IconValue | undefined;
  187. appendIcon?: IconValue | undefined;
  188. } & {
  189. $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
  190. default?: (() => vue.VNodeChild) | undefined;
  191. prepend?: (() => vue.VNodeChild) | undefined;
  192. append?: (() => vue.VNodeChild) | undefined;
  193. loader?: (() => vue.VNodeChild) | undefined;
  194. };
  195. 'v-slots'?: {
  196. default?: false | (() => vue.VNodeChild) | undefined;
  197. prepend?: false | (() => vue.VNodeChild) | undefined;
  198. append?: false | (() => vue.VNodeChild) | undefined;
  199. loader?: false | (() => vue.VNodeChild) | undefined;
  200. } | undefined;
  201. } & {
  202. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  203. "v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined;
  204. "v-slot:append"?: false | (() => vue.VNodeChild) | undefined;
  205. "v-slot:loader"?: false | (() => vue.VNodeChild) | undefined;
  206. } & {
  207. "onGroup:selected"?: ((val: {
  208. value: boolean;
  209. }) => any) | undefined;
  210. }, {
  211. symbol: any;
  212. replace: boolean;
  213. flat: boolean;
  214. variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
  215. exact: boolean;
  216. block: boolean;
  217. active: boolean;
  218. style: vue.StyleValue;
  219. disabled: boolean;
  220. size: string | number;
  221. readonly: boolean;
  222. tag: string;
  223. rounded: string | number | boolean;
  224. tile: boolean;
  225. density: Density;
  226. slim: boolean;
  227. stacked: boolean;
  228. ripple: boolean | {
  229. class: string;
  230. } | undefined;
  231. }, true, {}, vue.SlotsType<Partial<{
  232. default: () => vue.VNode[];
  233. prepend: () => vue.VNode[];
  234. append: () => vue.VNode[];
  235. loader: () => vue.VNode[];
  236. }>>, {
  237. P: {};
  238. B: {};
  239. D: {};
  240. C: {};
  241. M: {};
  242. Defaults: {};
  243. }, {
  244. symbol: any;
  245. replace: boolean;
  246. flat: boolean;
  247. variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
  248. exact: boolean;
  249. block: boolean;
  250. style: vue.StyleValue;
  251. disabled: boolean;
  252. size: string | number;
  253. readonly: boolean;
  254. tag: string;
  255. tile: boolean;
  256. density: Density;
  257. slim: boolean;
  258. stacked: boolean;
  259. ripple: boolean | {
  260. class: string;
  261. } | undefined;
  262. } & {
  263. location?: Anchor | null | undefined;
  264. height?: string | number | undefined;
  265. width?: string | number | undefined;
  266. active?: boolean | undefined;
  267. border?: string | number | boolean | undefined;
  268. color?: string | undefined;
  269. maxHeight?: string | number | undefined;
  270. maxWidth?: string | number | undefined;
  271. minHeight?: string | number | undefined;
  272. minWidth?: string | number | undefined;
  273. position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
  274. value?: any;
  275. loading?: string | boolean | undefined;
  276. text?: string | undefined;
  277. class?: any;
  278. theme?: string | undefined;
  279. to?: vue_router.RouteLocationRaw | undefined;
  280. icon?: boolean | IconValue | undefined;
  281. href?: string | undefined;
  282. elevation?: string | number | undefined;
  283. rounded?: string | number | boolean | undefined;
  284. baseColor?: string | undefined;
  285. selectedClass?: string | undefined;
  286. activeColor?: string | undefined;
  287. prependIcon?: IconValue | undefined;
  288. appendIcon?: IconValue | undefined;
  289. } & {
  290. $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
  291. default?: (() => vue.VNodeChild) | undefined;
  292. prepend?: (() => vue.VNodeChild) | undefined;
  293. append?: (() => vue.VNodeChild) | undefined;
  294. loader?: (() => vue.VNodeChild) | undefined;
  295. };
  296. 'v-slots'?: {
  297. default?: false | (() => vue.VNodeChild) | undefined;
  298. prepend?: false | (() => vue.VNodeChild) | undefined;
  299. append?: false | (() => vue.VNodeChild) | undefined;
  300. loader?: false | (() => vue.VNodeChild) | undefined;
  301. } | undefined;
  302. } & {
  303. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  304. "v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined;
  305. "v-slot:append"?: false | (() => vue.VNodeChild) | undefined;
  306. "v-slot:loader"?: false | (() => vue.VNodeChild) | undefined;
  307. } & {
  308. "onGroup:selected"?: ((val: {
  309. value: boolean;
  310. }) => any) | undefined;
  311. }, {
  312. group: GroupItemProvide | null;
  313. }, {}, {}, {}, {
  314. symbol: any;
  315. replace: boolean;
  316. flat: boolean;
  317. variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
  318. exact: boolean;
  319. block: boolean;
  320. active: boolean;
  321. style: vue.StyleValue;
  322. disabled: boolean;
  323. size: string | number;
  324. readonly: boolean;
  325. tag: string;
  326. rounded: string | number | boolean;
  327. tile: boolean;
  328. density: Density;
  329. slim: boolean;
  330. stacked: boolean;
  331. ripple: boolean | {
  332. class: string;
  333. } | undefined;
  334. }>;
  335. __isFragment?: never;
  336. __isTeleport?: never;
  337. __isSuspense?: never;
  338. } & vue.ComponentOptionsBase<{
  339. symbol: any;
  340. replace: boolean;
  341. flat: boolean;
  342. variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
  343. exact: boolean;
  344. block: boolean;
  345. style: vue.StyleValue;
  346. disabled: boolean;
  347. size: string | number;
  348. readonly: boolean;
  349. tag: string;
  350. tile: boolean;
  351. density: Density;
  352. slim: boolean;
  353. stacked: boolean;
  354. ripple: boolean | {
  355. class: string;
  356. } | undefined;
  357. } & {
  358. location?: Anchor | null | undefined;
  359. height?: string | number | undefined;
  360. width?: string | number | undefined;
  361. active?: boolean | undefined;
  362. border?: string | number | boolean | undefined;
  363. color?: string | undefined;
  364. maxHeight?: string | number | undefined;
  365. maxWidth?: string | number | undefined;
  366. minHeight?: string | number | undefined;
  367. minWidth?: string | number | undefined;
  368. position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
  369. value?: any;
  370. loading?: string | boolean | undefined;
  371. text?: string | undefined;
  372. class?: any;
  373. theme?: string | undefined;
  374. to?: vue_router.RouteLocationRaw | undefined;
  375. icon?: boolean | IconValue | undefined;
  376. href?: string | undefined;
  377. elevation?: string | number | undefined;
  378. rounded?: string | number | boolean | undefined;
  379. baseColor?: string | undefined;
  380. selectedClass?: string | undefined;
  381. activeColor?: string | undefined;
  382. prependIcon?: IconValue | undefined;
  383. appendIcon?: IconValue | undefined;
  384. } & {
  385. $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
  386. default?: (() => vue.VNodeChild) | undefined;
  387. prepend?: (() => vue.VNodeChild) | undefined;
  388. append?: (() => vue.VNodeChild) | undefined;
  389. loader?: (() => vue.VNodeChild) | undefined;
  390. };
  391. 'v-slots'?: {
  392. default?: false | (() => vue.VNodeChild) | undefined;
  393. prepend?: false | (() => vue.VNodeChild) | undefined;
  394. append?: false | (() => vue.VNodeChild) | undefined;
  395. loader?: false | (() => vue.VNodeChild) | undefined;
  396. } | undefined;
  397. } & {
  398. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  399. "v-slot:prepend"?: false | (() => vue.VNodeChild) | undefined;
  400. "v-slot:append"?: false | (() => vue.VNodeChild) | undefined;
  401. "v-slot:loader"?: false | (() => vue.VNodeChild) | undefined;
  402. } & {
  403. "onGroup:selected"?: ((val: {
  404. value: boolean;
  405. }) => any) | undefined;
  406. }, {
  407. group: GroupItemProvide | null;
  408. }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
  409. 'group:selected': (val: {
  410. value: boolean;
  411. }) => true;
  412. }, string, {
  413. symbol: any;
  414. replace: boolean;
  415. flat: boolean;
  416. variant: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain";
  417. exact: boolean;
  418. block: boolean;
  419. active: boolean;
  420. style: vue.StyleValue;
  421. disabled: boolean;
  422. size: string | number;
  423. readonly: boolean;
  424. tag: string;
  425. rounded: string | number | boolean;
  426. tile: boolean;
  427. density: Density;
  428. slim: boolean;
  429. stacked: boolean;
  430. ripple: boolean | {
  431. class: string;
  432. } | undefined;
  433. }, {}, string, vue.SlotsType<Partial<{
  434. default: () => vue.VNode[];
  435. prepend: () => vue.VNode[];
  436. append: () => vue.VNode[];
  437. loader: () => vue.VNode[];
  438. }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
  439. color: StringConstructor;
  440. variant: Omit<{
  441. type: PropType<Variant>;
  442. default: string;
  443. validator: (v: any) => boolean;
  444. }, "type" | "default"> & {
  445. type: PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
  446. default: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
  447. };
  448. theme: StringConstructor;
  449. tag: Omit<{
  450. type: StringConstructor;
  451. default: string;
  452. }, "type" | "default"> & {
  453. type: PropType<string>;
  454. default: string;
  455. };
  456. size: {
  457. type: (StringConstructor | NumberConstructor)[];
  458. default: string;
  459. };
  460. href: StringConstructor;
  461. replace: BooleanConstructor;
  462. to: PropType<vue_router.RouteLocationRaw>;
  463. exact: BooleanConstructor;
  464. rounded: {
  465. type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
  466. default: undefined;
  467. };
  468. tile: BooleanConstructor;
  469. position: {
  470. type: PropType<"fixed" | "absolute" | "relative" | "static" | "sticky">;
  471. validator: (v: any) => boolean;
  472. };
  473. location: PropType<Anchor | null>;
  474. loading: (StringConstructor | BooleanConstructor)[];
  475. value: null;
  476. disabled: BooleanConstructor;
  477. selectedClass: StringConstructor;
  478. elevation: {
  479. type: (StringConstructor | NumberConstructor)[];
  480. validator(v: any): boolean;
  481. };
  482. height: (StringConstructor | NumberConstructor)[];
  483. maxHeight: (StringConstructor | NumberConstructor)[];
  484. maxWidth: (StringConstructor | NumberConstructor)[];
  485. minHeight: (StringConstructor | NumberConstructor)[];
  486. minWidth: (StringConstructor | NumberConstructor)[];
  487. width: (StringConstructor | NumberConstructor)[];
  488. density: {
  489. type: PropType<Density>;
  490. default: string;
  491. validator: (v: any) => boolean;
  492. };
  493. class: PropType<ClassValue>;
  494. style: {
  495. type: PropType<vue.StyleValue>;
  496. default: null;
  497. };
  498. border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
  499. active: {
  500. type: BooleanConstructor;
  501. default: undefined;
  502. };
  503. activeColor: StringConstructor;
  504. baseColor: StringConstructor;
  505. symbol: {
  506. type: null;
  507. default: vue.InjectionKey<GroupProvide>;
  508. };
  509. flat: BooleanConstructor;
  510. icon: PropType<boolean | IconValue>;
  511. prependIcon: PropType<IconValue>;
  512. appendIcon: PropType<IconValue>;
  513. block: BooleanConstructor;
  514. readonly: BooleanConstructor;
  515. slim: BooleanConstructor;
  516. stacked: BooleanConstructor;
  517. ripple: {
  518. type: PropType<RippleDirectiveBinding["value"]>;
  519. default: boolean;
  520. };
  521. text: StringConstructor;
  522. }, vue.ExtractPropTypes<{
  523. color: StringConstructor;
  524. variant: Omit<{
  525. type: PropType<Variant>;
  526. default: string;
  527. validator: (v: any) => boolean;
  528. }, "type" | "default"> & {
  529. type: PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
  530. default: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
  531. };
  532. theme: StringConstructor;
  533. tag: Omit<{
  534. type: StringConstructor;
  535. default: string;
  536. }, "type" | "default"> & {
  537. type: PropType<string>;
  538. default: string;
  539. };
  540. size: {
  541. type: (StringConstructor | NumberConstructor)[];
  542. default: string;
  543. };
  544. href: StringConstructor;
  545. replace: BooleanConstructor;
  546. to: PropType<vue_router.RouteLocationRaw>;
  547. exact: BooleanConstructor;
  548. rounded: {
  549. type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
  550. default: undefined;
  551. };
  552. tile: BooleanConstructor;
  553. position: {
  554. type: PropType<"fixed" | "absolute" | "relative" | "static" | "sticky">;
  555. validator: (v: any) => boolean;
  556. };
  557. location: PropType<Anchor | null>;
  558. loading: (StringConstructor | BooleanConstructor)[];
  559. value: null;
  560. disabled: BooleanConstructor;
  561. selectedClass: StringConstructor;
  562. elevation: {
  563. type: (StringConstructor | NumberConstructor)[];
  564. validator(v: any): boolean;
  565. };
  566. height: (StringConstructor | NumberConstructor)[];
  567. maxHeight: (StringConstructor | NumberConstructor)[];
  568. maxWidth: (StringConstructor | NumberConstructor)[];
  569. minHeight: (StringConstructor | NumberConstructor)[];
  570. minWidth: (StringConstructor | NumberConstructor)[];
  571. width: (StringConstructor | NumberConstructor)[];
  572. density: {
  573. type: PropType<Density>;
  574. default: string;
  575. validator: (v: any) => boolean;
  576. };
  577. class: PropType<ClassValue>;
  578. style: {
  579. type: PropType<vue.StyleValue>;
  580. default: null;
  581. };
  582. border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
  583. active: {
  584. type: BooleanConstructor;
  585. default: undefined;
  586. };
  587. activeColor: StringConstructor;
  588. baseColor: StringConstructor;
  589. symbol: {
  590. type: null;
  591. default: vue.InjectionKey<GroupProvide>;
  592. };
  593. flat: BooleanConstructor;
  594. icon: PropType<boolean | IconValue>;
  595. prependIcon: PropType<IconValue>;
  596. appendIcon: PropType<IconValue>;
  597. block: BooleanConstructor;
  598. readonly: BooleanConstructor;
  599. slim: BooleanConstructor;
  600. stacked: BooleanConstructor;
  601. ripple: {
  602. type: PropType<RippleDirectiveBinding["value"]>;
  603. default: boolean;
  604. };
  605. text: StringConstructor;
  606. }>>;
  607. type VBtn = InstanceType<typeof VBtn>;
  608. export { VBtn };