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"]; }; tag: unknown extends Defaults["tag"] ? { type: PropType; default: string; } : Omit<{ type: PropType; default: string; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["tag"] ? string | import("../../util/index.js").JSXComponent : NonNullable | Defaults["tag"]; }; density: unknown extends Defaults["density"] ? { type: PropType; default: string; validator: (v: any) => boolean; } : Omit<{ type: PropType; default: string; validator: (v: any) => boolean; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["density"] ? import("../../composables/density.js").Density : NonNullable | Defaults["density"]; }; 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; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["style"] ? import("vue").StyleValue : NonNullable | Defaults["style"]; }; 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"] ? (StringConstructor | NumberConstructor)[] : { type: PropType; default: unknown extends Defaults["height"] ? string | number : NonNullable | Defaults["height"]; }; 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; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["striped"] ? Striped : Defaults["striped"] | NonNullable; }; }; export declare const VTable: { new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{ style: import("vue").StyleValue; tag: string | import("../../util/index.js").JSXComponent; density: import("../../composables/density.js").Density; striped: Striped; hover: boolean; fixedHeader: boolean; fixedFooter: boolean; } & { height?: string | number | undefined; class?: any; theme?: string | undefined; } & { $children?: import("vue").VNodeChild | { $stable?: boolean; } | (() => import("vue").VNodeChild) | { default?: (() => import("vue").VNodeChild) | undefined; top?: (() => import("vue").VNodeChild) | undefined; bottom?: (() => import("vue").VNodeChild) | undefined; wrapper?: (() => import("vue").VNodeChild) | undefined; }; '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:default"?: false | (() => import("vue").VNodeChild) | undefined; "v-slot:top"?: false | (() => import("vue").VNodeChild) | undefined; "v-slot:bottom"?: 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; tag: string | import("../../util/index.js").JSXComponent; density: import("../../composables/density.js").Density; striped: Striped; hover: boolean; fixedHeader: boolean; fixedFooter: boolean; }, 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: import("vue").StyleValue; tag: string | import("../../util/index.js").JSXComponent; density: import("../../composables/density.js").Density; striped: Striped; hover: boolean; fixedHeader: boolean; fixedFooter: boolean; } & { height?: string | number | undefined; class?: any; theme?: string | undefined; } & { $children?: import("vue").VNodeChild | { $stable?: boolean; } | (() => import("vue").VNodeChild) | { default?: (() => import("vue").VNodeChild) | undefined; top?: (() => import("vue").VNodeChild) | undefined; bottom?: (() => import("vue").VNodeChild) | undefined; wrapper?: (() => import("vue").VNodeChild) | undefined; }; '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:default"?: false | (() => import("vue").VNodeChild) | undefined; "v-slot:top"?: false | (() => import("vue").VNodeChild) | undefined; "v-slot:bottom"?: false | (() => import("vue").VNodeChild) | undefined; "v-slot:wrapper"?: false | (() => import("vue").VNodeChild) | undefined; }, {}, {}, {}, {}, { style: import("vue").StyleValue; tag: string | import("../../util/index.js").JSXComponent; density: import("../../composables/density.js").Density; striped: Striped; hover: boolean; fixedHeader: boolean; fixedFooter: boolean; }>; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } & import("vue").ComponentOptionsBase<{ style: import("vue").StyleValue; tag: string | import("../../util/index.js").JSXComponent; density: import("../../composables/density.js").Density; striped: Striped; hover: boolean; fixedHeader: boolean; fixedFooter: boolean; } & { height?: string | number | undefined; class?: any; theme?: string | undefined; } & { $children?: import("vue").VNodeChild | { $stable?: boolean; } | (() => import("vue").VNodeChild) | { default?: (() => import("vue").VNodeChild) | undefined; top?: (() => import("vue").VNodeChild) | undefined; bottom?: (() => import("vue").VNodeChild) | undefined; wrapper?: (() => import("vue").VNodeChild) | undefined; }; '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:default"?: false | (() => import("vue").VNodeChild) | undefined; "v-slot:top"?: false | (() => import("vue").VNodeChild) | undefined; "v-slot:bottom"?: 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; tag: string | import("../../util/index.js").JSXComponent; density: import("../../composables/density.js").Density; striped: Striped; hover: boolean; fixedHeader: boolean; fixedFooter: boolean; }, {}, 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; tag: { type: PropType; default: string; }; density: { type: PropType; default: string; validator: (v: any) => boolean; }; class: PropType; style: { type: PropType; default: null; }; fixedHeader: BooleanConstructor; fixedFooter: BooleanConstructor; height: (StringConstructor | NumberConstructor)[]; hover: BooleanConstructor; striped: { type: PropType; default: null; validator: (v: any) => boolean; }; }, import("vue").ExtractPropTypes<{ theme: StringConstructor; tag: { type: PropType; default: string; }; density: { type: PropType; default: string; validator: (v: any) => boolean; }; class: PropType; style: { type: PropType; default: null; }; fixedHeader: BooleanConstructor; fixedFooter: BooleanConstructor; height: (StringConstructor | NumberConstructor)[]; hover: BooleanConstructor; striped: { type: PropType; default: null; validator: (v: any) => boolean; }; }>>; export type VTable = InstanceType;