import type { PropType } from 'vue'; export type VTableSlots = { default: never; top: never; bottom: never; wrapper: never; }; export type Striped = null | 'odd' | 'even'; export declare const makeVTableProps: (defaults?: Defaults | undefined) => { theme: unknown extends Defaults["theme"] ? StringConstructor : { type: PropType; default: unknown extends Defaults["theme"] ? string : string | Defaults["theme"]; }; class: unknown extends Defaults["class"] ? PropType : { type: PropType; default: unknown extends Defaults["class"] ? any : any; }; style: unknown extends Defaults["style"] ? { type: PropType; default: null; } : Omit<{ type: PropType; default: null; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["style"] ? import("vue").StyleValue : Defaults["style"] | NonNullable; }; density: unknown extends Defaults["density"] ? { type: PropType; default: string; validator: (v: any) => boolean; } : Omit<{ type: PropType; default: string; validator: (v: any) => boolean; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["density"] ? import("../../composables/density.js").Density : Defaults["density"] | NonNullable; }; tag: unknown extends Defaults["tag"] ? { type: PropType; default: string; } : Omit<{ type: PropType; default: string; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["tag"] ? string | import("../../util/index.js").JSXComponent : Defaults["tag"] | NonNullable; }; fixedHeader: unknown extends Defaults["fixedHeader"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["fixedHeader"] ? boolean : boolean | Defaults["fixedHeader"]; }; fixedFooter: unknown extends Defaults["fixedFooter"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["fixedFooter"] ? boolean : boolean | Defaults["fixedFooter"]; }; height: unknown extends Defaults["height"] ? (NumberConstructor | StringConstructor)[] : { type: PropType; default: unknown extends Defaults["height"] ? string | number : Defaults["height"] | NonNullable; }; hover: unknown extends Defaults["hover"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["hover"] ? boolean : boolean | Defaults["hover"]; }; striped: unknown extends Defaults["striped"] ? { type: PropType; default: null; validator: (v: any) => boolean; } : Omit<{ type: PropType; default: null; validator: (v: any) => boolean; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["striped"] ? Striped : Defaults["striped"] | NonNullable; }; }; export declare const VTable: { new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{ style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null; density: import("../../composables/density.js").Density; tag: string | import("../../util/index.js").JSXComponent; fixedHeader: boolean; fixedFooter: boolean; hover: boolean; striped: Striped; } & { theme?: string | undefined; class?: any; height?: string | number | undefined; } & { $children?: { default?: (() => import("vue").VNodeChild) | undefined; top?: (() => import("vue").VNodeChild) | undefined; bottom?: (() => import("vue").VNodeChild) | undefined; wrapper?: (() => import("vue").VNodeChild) | undefined; } | { $stable?: boolean; } | (() => import("vue").VNodeChild) | import("vue").VNodeChild; 'v-slots'?: { default?: false | (() => import("vue").VNodeChild) | undefined; top?: false | (() => import("vue").VNodeChild) | undefined; bottom?: false | (() => import("vue").VNodeChild) | undefined; wrapper?: false | (() => import("vue").VNodeChild) | undefined; } | undefined; } & { "v-slot:bottom"?: false | (() => import("vue").VNodeChild) | undefined; "v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined; "v-slot:top"?: false | (() => import("vue").VNodeChild) | undefined; "v-slot:wrapper"?: false | (() => import("vue").VNodeChild) | undefined; }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, { style: import("vue").StyleValue; density: import("../../composables/density.js").Density; tag: string | import("../../util/index.js").JSXComponent; fixedHeader: boolean; fixedFooter: boolean; hover: boolean; striped: Striped; }, true, {}, import("vue").SlotsType import("vue").VNode[]; top: () => import("vue").VNode[]; bottom: () => import("vue").VNode[]; wrapper: () => import("vue").VNode[]; }>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, { style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null; density: import("../../composables/density.js").Density; tag: string | import("../../util/index.js").JSXComponent; fixedHeader: boolean; fixedFooter: boolean; hover: boolean; striped: Striped; } & { theme?: string | undefined; class?: any; height?: string | number | undefined; } & { $children?: { default?: (() => import("vue").VNodeChild) | undefined; top?: (() => import("vue").VNodeChild) | undefined; bottom?: (() => import("vue").VNodeChild) | undefined; wrapper?: (() => import("vue").VNodeChild) | undefined; } | { $stable?: boolean; } | (() => import("vue").VNodeChild) | import("vue").VNodeChild; 'v-slots'?: { default?: false | (() => import("vue").VNodeChild) | undefined; top?: false | (() => import("vue").VNodeChild) | undefined; bottom?: false | (() => import("vue").VNodeChild) | undefined; wrapper?: false | (() => import("vue").VNodeChild) | undefined; } | undefined; } & { "v-slot:bottom"?: false | (() => import("vue").VNodeChild) | undefined; "v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined; "v-slot:top"?: false | (() => import("vue").VNodeChild) | undefined; "v-slot:wrapper"?: false | (() => import("vue").VNodeChild) | undefined; }, {}, {}, {}, {}, { style: import("vue").StyleValue; density: import("../../composables/density.js").Density; tag: string | import("../../util/index.js").JSXComponent; fixedHeader: boolean; fixedFooter: boolean; hover: boolean; striped: Striped; }>; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } & import("vue").ComponentOptionsBase<{ style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null; density: import("../../composables/density.js").Density; tag: string | import("../../util/index.js").JSXComponent; fixedHeader: boolean; fixedFooter: boolean; hover: boolean; striped: Striped; } & { theme?: string | undefined; class?: any; height?: string | number | undefined; } & { $children?: { default?: (() => import("vue").VNodeChild) | undefined; top?: (() => import("vue").VNodeChild) | undefined; bottom?: (() => import("vue").VNodeChild) | undefined; wrapper?: (() => import("vue").VNodeChild) | undefined; } | { $stable?: boolean; } | (() => import("vue").VNodeChild) | import("vue").VNodeChild; 'v-slots'?: { default?: false | (() => import("vue").VNodeChild) | undefined; top?: false | (() => import("vue").VNodeChild) | undefined; bottom?: false | (() => import("vue").VNodeChild) | undefined; wrapper?: false | (() => import("vue").VNodeChild) | undefined; } | undefined; } & { "v-slot:bottom"?: false | (() => import("vue").VNodeChild) | undefined; "v-slot:default"?: false | (() => import("vue").VNodeChild) | undefined; "v-slot:top"?: false | (() => import("vue").VNodeChild) | undefined; "v-slot:wrapper"?: false | (() => import("vue").VNodeChild) | undefined; }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, { style: import("vue").StyleValue; density: import("../../composables/density.js").Density; tag: string | import("../../util/index.js").JSXComponent; fixedHeader: boolean; fixedFooter: boolean; hover: boolean; striped: Striped; }, {}, string, import("vue").SlotsType import("vue").VNode[]; top: () => import("vue").VNode[]; bottom: () => import("vue").VNode[]; wrapper: () => import("vue").VNode[]; }>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("../../util/index.js").FilterPropsOptions<{ theme: StringConstructor; class: PropType; style: { type: PropType; default: null; }; density: { type: PropType; default: string; validator: (v: any) => boolean; }; tag: { type: PropType; default: string; }; fixedHeader: BooleanConstructor; fixedFooter: BooleanConstructor; height: (NumberConstructor | StringConstructor)[]; hover: BooleanConstructor; striped: { type: PropType; default: null; validator: (v: any) => boolean; }; }, import("vue").ExtractPropTypes<{ theme: StringConstructor; class: PropType; style: { type: PropType; default: null; }; density: { type: PropType; default: string; validator: (v: any) => boolean; }; tag: { type: PropType; default: string; }; fixedHeader: BooleanConstructor; fixedFooter: BooleanConstructor; height: (NumberConstructor | StringConstructor)[]; hover: BooleanConstructor; striped: { type: PropType; default: null; validator: (v: any) => boolean; }; }>>; export type VTable = InstanceType;