import type { PropType } from 'vue'; import type { ButtonVariant, ButtonOutline } from '#components'; import type { Theme, Size, Radius, Spacing } from '#utilities'; declare var __VLS_6: {}; type __VLS_Slots = {} & { default?: (props: typeof __VLS_6) => any; }; declare const __VLS_base: import("vue").DefineComponent; default: () => ButtonVariant; validator: (v: string) => boolean; }; outline: { type: PropType; default: (props: { variant: "soft" | "subtle"; }) => ButtonOutline | undefined; validator: (v: boolean | string) => boolean; }; icon: StringConstructor; iconLeft: StringConstructor; iconRight: StringConstructor; squared: { type: BooleanConstructor; default: (props: Record) => boolean; }; disabled: BooleanConstructor; loading: BooleanConstructor; descendant: BooleanConstructor; theme: { type: PropType; default: (props: { descendant?: boolean; }) => "brand" | "user" | "ok" | "info" | "warn" | "danger" | "neutral" | undefined; validator: /** * @template { string } T * @overload * @param { T } value * @returns { T extends ThemeAlias ? true : false } */ (value: string) => false; }; size: { type: PropType; default: (props: { descendant?: boolean; }) => Size | undefined; validator: import("#utilities").IsValidSize; }; radius: { type: PropType; default: (props: { descendant?: boolean; }) => Radius | undefined; validator: import("#utilities").IsValidRadius; }; spacing: { type: PropType; default: (props: { descendant?: boolean; }) => Spacing | undefined; validator: import("#utilities").IsValidSpacing; }; }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly; default: () => ButtonVariant; validator: (v: string) => boolean; }; outline: { type: PropType; default: (props: { variant: "soft" | "subtle"; }) => ButtonOutline | undefined; validator: (v: boolean | string) => boolean; }; icon: StringConstructor; iconLeft: StringConstructor; iconRight: StringConstructor; squared: { type: BooleanConstructor; default: (props: Record) => boolean; }; disabled: BooleanConstructor; loading: BooleanConstructor; descendant: BooleanConstructor; theme: { type: PropType; default: (props: { descendant?: boolean; }) => "brand" | "user" | "ok" | "info" | "warn" | "danger" | "neutral" | undefined; validator: /** * @template { string } T * @overload * @param { T } value * @returns { T extends ThemeAlias ? true : false } */ (value: string) => false; }; size: { type: PropType; default: (props: { descendant?: boolean; }) => Size | undefined; validator: import("#utilities").IsValidSize; }; radius: { type: PropType; default: (props: { descendant?: boolean; }) => Radius | undefined; validator: import("#utilities").IsValidRadius; }; spacing: { type: PropType; default: (props: { descendant?: boolean; }) => Spacing | undefined; validator: import("#utilities").IsValidSpacing; }; }>> & Readonly<{}>, { size: Size; disabled: boolean; theme: "brand" | "user" | "ok" | "info" | "warn" | "danger" | "neutral"; radius: Radius; spacing: Spacing; loading: boolean; descendant: boolean; variant: ButtonVariant; outline: ButtonOutline; squared: boolean; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; declare const __VLS_export: __VLS_WithSlots; declare const _default: typeof __VLS_export; export default _default; type __VLS_WithSlots = T & { new (): { $slots: S; }; }; //# sourceMappingURL=PushButton.vue.d.ts.map