import { IconValue } from '../../composables/icons.js'; import type { PropType } from 'vue'; import type { VWindowSlots } from '../VWindow/VWindow.js'; import type { GroupProvide } from '../../composables/group.js'; import type { GenericProps } from '../../util/index.js'; export declare const makeVCarouselProps: (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; }; 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; }; continuous: unknown extends Defaults["continuous"] ? { type: PropType; default: boolean; } : Omit<{ type: PropType; default: boolean; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["continuous"] ? boolean : boolean | Defaults["continuous"]; }; nextIcon: unknown extends Defaults["nextIcon"] ? { type: PropType; default: string; } : Omit<{ type: PropType; default: string; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["nextIcon"] ? IconValue : Defaults["nextIcon"] | NonNullable; }; prevIcon: unknown extends Defaults["prevIcon"] ? { type: PropType; default: string; } : Omit<{ type: PropType; default: string; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["prevIcon"] ? IconValue : Defaults["prevIcon"] | NonNullable; }; reverse: unknown extends Defaults["reverse"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["reverse"] ? boolean : boolean | Defaults["reverse"]; }; showArrows: unknown extends Defaults["showArrows"] ? Omit<{ type: (BooleanConstructor | StringConstructor)[]; validator: (v: any) => boolean; }, "default" | "type"> & { type: PropType; default: NonNullable; } : Omit boolean; }, "default" | "type"> & { type: PropType; default: NonNullable; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["showArrows"] ? string | boolean : Defaults["showArrows"] | NonNullable; }; verticalArrows: unknown extends Defaults["verticalArrows"] ? PropType<"left" | "right" | boolean> : { type: PropType; default: unknown extends Defaults["verticalArrows"] ? "left" | "right" | boolean : Defaults["verticalArrows"] | NonNullable<"left" | "right" | boolean>; }; touch: unknown extends Defaults["touch"] ? { type: PropType; default: undefined; } : Omit<{ type: PropType; default: undefined; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["touch"] ? boolean | import("../../directives/touch/index.js").TouchHandlers : Defaults["touch"] | NonNullable; }; direction: unknown extends Defaults["direction"] ? { type: PropType<'horizontal' | 'vertical'>; default: string; } : Omit<{ type: PropType<'horizontal' | 'vertical'>; default: string; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["direction"] ? "horizontal" | "vertical" : Defaults["direction"] | NonNullable<"horizontal" | "vertical">; }; modelValue: unknown extends Defaults["modelValue"] ? null : { type: PropType; default: unknown extends Defaults["modelValue"] ? any : any; }; disabled: unknown extends Defaults["disabled"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"]; }; selectedClass: unknown extends Defaults["selectedClass"] ? { type: StringConstructor; default: string; } : Omit<{ type: StringConstructor; default: string; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["selectedClass"] ? string : string | Defaults["selectedClass"]; }; mandatory: unknown extends Defaults["mandatory"] ? Omit<{ type: PropType; default: 'force'; }, "default" | "type"> & { type: PropType<"force" | boolean>; default: NonNullable<"force" | boolean>; } : Omit; default: 'force'; }, "default" | "type"> & { type: PropType<"force" | boolean>; default: NonNullable<"force" | boolean>; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["mandatory"] ? "force" | boolean : Defaults["mandatory"] | NonNullable<"force" | boolean>; }; crossfade: unknown extends Defaults["crossfade"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["crossfade"] ? boolean : boolean | Defaults["crossfade"]; }; transitionDuration: unknown extends Defaults["transitionDuration"] ? NumberConstructor : { type: PropType; default: unknown extends Defaults["transitionDuration"] ? number : number | Defaults["transitionDuration"]; }; color: unknown extends Defaults["color"] ? StringConstructor : { type: PropType; default: unknown extends Defaults["color"] ? string : string | Defaults["color"]; }; cycle: unknown extends Defaults["cycle"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["cycle"] ? boolean : boolean | Defaults["cycle"]; }; delimiterIcon: unknown extends Defaults["delimiterIcon"] ? { type: PropType; default: string; } : Omit<{ type: PropType; default: string; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["delimiterIcon"] ? IconValue : Defaults["delimiterIcon"] | NonNullable; }; height: unknown extends Defaults["height"] ? { type: (NumberConstructor | StringConstructor)[]; default: number; } : Omit<{ type: (NumberConstructor | StringConstructor)[]; default: number; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["height"] ? string | number : Defaults["height"] | NonNullable; }; hideDelimiters: unknown extends Defaults["hideDelimiters"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["hideDelimiters"] ? boolean : boolean | Defaults["hideDelimiters"]; }; hideDelimiterBackground: unknown extends Defaults["hideDelimiterBackground"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["hideDelimiterBackground"] ? boolean : boolean | Defaults["hideDelimiterBackground"]; }; interval: unknown extends Defaults["interval"] ? { type: (NumberConstructor | StringConstructor)[]; default: number; validator: (value: string | number) => boolean; } : Omit<{ type: (NumberConstructor | StringConstructor)[]; default: number; validator: (value: string | number) => boolean; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["interval"] ? string | number : Defaults["interval"] | NonNullable; }; progress: unknown extends Defaults["progress"] ? (BooleanConstructor | StringConstructor)[] : { type: PropType; default: unknown extends Defaults["progress"] ? string | boolean : Defaults["progress"] | NonNullable; }; verticalDelimiters: unknown extends Defaults["verticalDelimiters"] ? PropType<"left" | "right" | boolean> : { type: PropType; default: unknown extends Defaults["verticalDelimiters"] ? "left" | "right" | boolean : Defaults["verticalDelimiters"] | NonNullable<"left" | "right" | boolean>; }; }; type VCarouselSlots = Omit & { item: { props: Record; item: { id: string; value: unknown; disabled: boolean | undefined; }; }; }; export declare const VCarousel: { new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{ style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null; tag: string | import("../../util/index.js").JSXComponent; continuous: boolean; nextIcon: IconValue; prevIcon: IconValue; reverse: boolean; showArrows: string | boolean; direction: "horizontal" | "vertical"; disabled: boolean; selectedClass: string; mandatory: "force" | boolean; crossfade: boolean; cycle: boolean; delimiterIcon: IconValue; height: string | number; hideDelimiters: boolean; hideDelimiterBackground: boolean; interval: string | number; } & { theme?: string | undefined; class?: any; verticalArrows?: "left" | "right" | boolean | undefined; touch?: boolean | import("../../directives/touch/index.js").TouchHandlers | undefined; transitionDuration?: number | undefined; color?: string | undefined; progress?: string | boolean | undefined; verticalDelimiters?: "left" | "right" | boolean | undefined; } & {}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<{ 'update:modelValue': (value: any) => true; }, "$children" | "modelValue" | "update:modelValue" | "v-slot:default" | "v-slot:item" | "v-slot:next" | "v-slot:prev" | "v-slots">, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, { style: import("vue").StyleValue; tag: string | import("../../util/index.js").JSXComponent; continuous: boolean; nextIcon: IconValue; prevIcon: IconValue; reverse: boolean; showArrows: string | boolean; touch: boolean | import("../../directives/touch/index.js").TouchHandlers; direction: "horizontal" | "vertical"; disabled: boolean; selectedClass: string; mandatory: "force" | boolean; crossfade: boolean; cycle: boolean; delimiterIcon: IconValue; height: string | number; hideDelimiters: boolean; hideDelimiterBackground: boolean; interval: string | number; }, true, {}, import("vue").SlotsType import("vue").VNode[]; prev: (arg: { props: { icon: IconValue; class: string; onClick: () => void; 'aria-label': string; }; }) => import("vue").VNode[]; next: (arg: { props: { icon: IconValue; class: string; onClick: () => void; 'aria-label': string; }; }) => import("vue").VNode[]; item: (arg: { props: Record; item: { id: string; value: unknown; disabled: boolean | undefined; }; }) => 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; tag: string | import("../../util/index.js").JSXComponent; continuous: boolean; nextIcon: IconValue; prevIcon: IconValue; reverse: boolean; showArrows: string | boolean; direction: "horizontal" | "vertical"; disabled: boolean; selectedClass: string; mandatory: "force" | boolean; crossfade: boolean; cycle: boolean; delimiterIcon: IconValue; height: string | number; hideDelimiters: boolean; hideDelimiterBackground: boolean; interval: string | number; } & { theme?: string | undefined; class?: any; verticalArrows?: "left" | "right" | boolean | undefined; touch?: boolean | import("../../directives/touch/index.js").TouchHandlers | undefined; transitionDuration?: number | undefined; color?: string | undefined; progress?: string | boolean | undefined; verticalDelimiters?: "left" | "right" | boolean | undefined; } & {}, {}, {}, {}, {}, { style: import("vue").StyleValue; tag: string | import("../../util/index.js").JSXComponent; continuous: boolean; nextIcon: IconValue; prevIcon: IconValue; reverse: boolean; showArrows: string | boolean; touch: boolean | import("../../directives/touch/index.js").TouchHandlers; direction: "horizontal" | "vertical"; disabled: boolean; selectedClass: string; mandatory: "force" | boolean; crossfade: boolean; cycle: boolean; delimiterIcon: IconValue; height: string | number; hideDelimiters: boolean; hideDelimiterBackground: boolean; interval: string | number; }>; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } & import("vue").ComponentOptionsBase<{ style: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null; tag: string | import("../../util/index.js").JSXComponent; continuous: boolean; nextIcon: IconValue; prevIcon: IconValue; reverse: boolean; showArrows: string | boolean; direction: "horizontal" | "vertical"; disabled: boolean; selectedClass: string; mandatory: "force" | boolean; crossfade: boolean; cycle: boolean; delimiterIcon: IconValue; height: string | number; hideDelimiters: boolean; hideDelimiterBackground: boolean; interval: string | number; } & { theme?: string | undefined; class?: any; verticalArrows?: "left" | "right" | boolean | undefined; touch?: boolean | import("../../directives/touch/index.js").TouchHandlers | undefined; transitionDuration?: number | undefined; color?: string | undefined; progress?: string | boolean | undefined; verticalDelimiters?: "left" | "right" | boolean | undefined; } & {}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<{ 'update:modelValue': (value: any) => true; }, "$children" | "modelValue" | "update:modelValue" | "v-slot:default" | "v-slot:item" | "v-slot:next" | "v-slot:prev" | "v-slots">, string, { style: import("vue").StyleValue; tag: string | import("../../util/index.js").JSXComponent; continuous: boolean; nextIcon: IconValue; prevIcon: IconValue; reverse: boolean; showArrows: string | boolean; touch: boolean | import("../../directives/touch/index.js").TouchHandlers; direction: "horizontal" | "vertical"; disabled: boolean; selectedClass: string; mandatory: "force" | boolean; crossfade: boolean; cycle: boolean; delimiterIcon: IconValue; height: string | number; hideDelimiters: boolean; hideDelimiterBackground: boolean; interval: string | number; }, {}, string, import("vue").SlotsType import("vue").VNode[]; prev: (arg: { props: { icon: IconValue; class: string; onClick: () => void; 'aria-label': string; }; }) => import("vue").VNode[]; next: (arg: { props: { icon: IconValue; class: string; onClick: () => void; 'aria-label': string; }; }) => import("vue").VNode[]; item: (arg: { props: Record; item: { id: string; value: unknown; disabled: boolean | undefined; }; }) => import("vue").VNode[]; }>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new (props: { modelValue?: T; 'onUpdate:modelValue'?: (value: T) => void; }, slots: VCarouselSlots) => GenericProps) & import("../../util/index.js").FilterPropsOptions<{ theme: StringConstructor; class: PropType; style: { type: PropType; default: null; }; tag: { type: PropType; default: string; }; continuous: { type: PropType; default: boolean; }; nextIcon: { type: PropType; default: string; }; prevIcon: { type: PropType; default: string; }; reverse: BooleanConstructor; showArrows: Omit<{ type: (BooleanConstructor | StringConstructor)[]; validator: (v: any) => boolean; }, "default" | "type"> & { type: PropType; default: NonNullable; }; verticalArrows: PropType; touch: { type: PropType; default: undefined; }; direction: { type: PropType<'horizontal' | 'vertical'>; default: string; }; modelValue: null; disabled: BooleanConstructor; selectedClass: { type: StringConstructor; default: string; }; mandatory: Omit<{ type: PropType; default: 'force'; }, "default" | "type"> & { type: PropType<"force" | boolean>; default: NonNullable<"force" | boolean>; }; crossfade: BooleanConstructor; transitionDuration: NumberConstructor; color: StringConstructor; cycle: BooleanConstructor; delimiterIcon: { type: PropType; default: string; }; height: { type: (NumberConstructor | StringConstructor)[]; default: number; }; hideDelimiters: BooleanConstructor; hideDelimiterBackground: BooleanConstructor; interval: { type: (NumberConstructor | StringConstructor)[]; default: number; validator: (value: string | number) => boolean; }; progress: (BooleanConstructor | StringConstructor)[]; verticalDelimiters: PropType; }, import("vue").ExtractPropTypes<{ theme: StringConstructor; class: PropType; style: { type: PropType; default: null; }; tag: { type: PropType; default: string; }; continuous: { type: PropType; default: boolean; }; nextIcon: { type: PropType; default: string; }; prevIcon: { type: PropType; default: string; }; reverse: BooleanConstructor; showArrows: Omit<{ type: (BooleanConstructor | StringConstructor)[]; validator: (v: any) => boolean; }, "default" | "type"> & { type: PropType; default: NonNullable; }; verticalArrows: PropType; touch: { type: PropType; default: undefined; }; direction: { type: PropType<'horizontal' | 'vertical'>; default: string; }; modelValue: null; disabled: BooleanConstructor; selectedClass: { type: StringConstructor; default: string; }; mandatory: Omit<{ type: PropType; default: 'force'; }, "default" | "type"> & { type: PropType<"force" | boolean>; default: NonNullable<"force" | boolean>; }; crossfade: BooleanConstructor; transitionDuration: NumberConstructor; color: StringConstructor; cycle: BooleanConstructor; delimiterIcon: { type: PropType; default: string; }; height: { type: (NumberConstructor | StringConstructor)[]; default: number; }; hideDelimiters: BooleanConstructor; hideDelimiterBackground: BooleanConstructor; interval: { type: (NumberConstructor | StringConstructor)[]; default: number; validator: (value: string | number) => boolean; }; progress: (BooleanConstructor | StringConstructor)[]; verticalDelimiters: PropType; }>>; export type VCarousel = InstanceType;