import { IconValue } from "../../composables/icons.js"; import type { InjectionKey, PropType } from 'vue'; import type { GroupProvide } from "../../composables/group.js"; import type { GenericProps } from "../../util/index.js"; export declare const VSlideGroupSymbol: InjectionKey; interface SlideGroupSlot { next: GroupProvide['next']; prev: GroupProvide['prev']; select: GroupProvide['select']; isSelected: GroupProvide['isSelected']; } type VSlideGroupSlots = { default: SlideGroupSlot; prev: SlideGroupSlot; next: SlideGroupSlot; }; export declare const makeVSlideGroupProps: (defaults?: Defaults | undefined) => { modelValue: unknown extends Defaults["modelValue"] ? { type: null; default: undefined; } : Omit<{ type: null; default: undefined; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["modelValue"] ? any : any; }; multiple: unknown extends Defaults["multiple"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["multiple"] ? boolean : boolean | Defaults["multiple"]; }; mandatory: unknown extends Defaults["mandatory"] ? PropType : { type: PropType; default: unknown extends Defaults["mandatory"] ? boolean | "force" : NonNullable | Defaults["mandatory"]; }; max: unknown extends Defaults["max"] ? NumberConstructor : { type: PropType; default: unknown extends Defaults["max"] ? number : number | Defaults["max"]; }; selectedClass: unknown extends Defaults["selectedClass"] ? { type: PropType; default: string; } : Omit<{ type: PropType; default: string; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["selectedClass"] ? string : string | Defaults["selectedClass"]; }; disabled: unknown extends Defaults["disabled"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"]; }; 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"]; }; mobile: unknown extends Defaults["mobile"] ? Omit<{ type: PropType; default: boolean; }, "type" | "default"> & { type: PropType; default: NonNullable | null; } : Omit; default: boolean; }, "type" | "default"> & { type: PropType; default: NonNullable | null; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["mobile"] ? boolean | null : NonNullable | Defaults["mobile"]; }; mobileBreakpoint: unknown extends Defaults["mobileBreakpoint"] ? PropType : { type: PropType; default: unknown extends Defaults["mobileBreakpoint"] ? number | import("../../composables/display.js").DisplayBreakpoint : NonNullable | Defaults["mobileBreakpoint"]; }; 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"]; }; centerActive: unknown extends Defaults["centerActive"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["centerActive"] ? boolean : boolean | Defaults["centerActive"]; }; contentClass: unknown extends Defaults["contentClass"] ? null : { type: PropType; default: unknown extends Defaults["contentClass"] ? any : any; }; direction: unknown extends Defaults["direction"] ? { type: PropType<"horizontal" | "vertical">; default: string; } : Omit<{ type: PropType<"horizontal" | "vertical">; default: string; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["direction"] ? "horizontal" | "vertical" : NonNullable<"horizontal" | "vertical"> | Defaults["direction"]; }; symbol: unknown extends Defaults["symbol"] ? { type: null; default: InjectionKey; } : Omit<{ type: null; default: InjectionKey; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["symbol"] ? any : any; }; nextIcon: unknown extends Defaults["nextIcon"] ? { type: PropType; default: string; } : Omit<{ type: PropType; default: string; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["nextIcon"] ? IconValue : NonNullable | Defaults["nextIcon"]; }; prevIcon: unknown extends Defaults["prevIcon"] ? { type: PropType; default: string; } : Omit<{ type: PropType; default: string; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["prevIcon"] ? IconValue : NonNullable | Defaults["prevIcon"]; }; showArrows: unknown extends Defaults["showArrows"] ? { type: (StringConstructor | BooleanConstructor)[]; validator: (v: any) => boolean; } : Omit<{ type: (StringConstructor | BooleanConstructor)[]; validator: (v: any) => boolean; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["showArrows"] ? string | boolean : NonNullable | Defaults["showArrows"]; }; }; export declare const VSlideGroup: { new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{ symbol: any; direction: "horizontal" | "vertical"; style: import("vue").StyleValue; mobile: boolean | null; disabled: boolean; multiple: boolean; tag: string | import("../../util/index.js").JSXComponent; selectedClass: string; centerActive: boolean; nextIcon: IconValue; prevIcon: IconValue; } & { max?: number | undefined; class?: any; mandatory?: boolean | "force" | undefined; mobileBreakpoint?: number | import("../../composables/display.js").DisplayBreakpoint | undefined; contentClass?: any; showArrows?: string | boolean | undefined; } & {}, { selected: import("vue").Ref; scrollTo: (location: "prev" | "next") => void; scrollOffset: import("vue").ShallowRef; focus: (location?: "next" | "prev" | "first" | "last") => void; hasPrev: import("vue").ComputedRef; hasNext: import("vue").ComputedRef; }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<{ 'update:modelValue': (value: any) => true; }, "$children" | "v-slots" | "v-slot:default" | "modelValue" | "update:modelValue" | "v-slot:next" | "v-slot:prev">, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, { symbol: any; direction: "horizontal" | "vertical"; style: import("vue").StyleValue; mobile: boolean | null; disabled: boolean; multiple: boolean; tag: string | import("../../util/index.js").JSXComponent; selectedClass: string; centerActive: boolean; nextIcon: IconValue; prevIcon: IconValue; }, true, {}, import("vue").SlotsType import("vue").VNode[]; prev: (arg: SlideGroupSlot) => import("vue").VNode[]; next: (arg: SlideGroupSlot) => import("vue").VNode[]; }>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, { symbol: any; direction: "horizontal" | "vertical"; style: import("vue").StyleValue; mobile: boolean | null; disabled: boolean; multiple: boolean; tag: string | import("../../util/index.js").JSXComponent; selectedClass: string; centerActive: boolean; nextIcon: IconValue; prevIcon: IconValue; } & { max?: number | undefined; class?: any; mandatory?: boolean | "force" | undefined; mobileBreakpoint?: number | import("../../composables/display.js").DisplayBreakpoint | undefined; contentClass?: any; showArrows?: string | boolean | undefined; } & {}, { selected: import("vue").Ref; scrollTo: (location: "prev" | "next") => void; scrollOffset: import("vue").ShallowRef; focus: (location?: "next" | "prev" | "first" | "last") => void; hasPrev: import("vue").ComputedRef; hasNext: import("vue").ComputedRef; }, {}, {}, {}, { symbol: any; direction: "horizontal" | "vertical"; style: import("vue").StyleValue; mobile: boolean | null; disabled: boolean; multiple: boolean; tag: string | import("../../util/index.js").JSXComponent; selectedClass: string; centerActive: boolean; nextIcon: IconValue; prevIcon: IconValue; }>; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } & import("vue").ComponentOptionsBase<{ symbol: any; direction: "horizontal" | "vertical"; style: import("vue").StyleValue; mobile: boolean | null; disabled: boolean; multiple: boolean; tag: string | import("../../util/index.js").JSXComponent; selectedClass: string; centerActive: boolean; nextIcon: IconValue; prevIcon: IconValue; } & { max?: number | undefined; class?: any; mandatory?: boolean | "force" | undefined; mobileBreakpoint?: number | import("../../composables/display.js").DisplayBreakpoint | undefined; contentClass?: any; showArrows?: string | boolean | undefined; } & {}, { selected: import("vue").Ref; scrollTo: (location: "prev" | "next") => void; scrollOffset: import("vue").ShallowRef; focus: (location?: "next" | "prev" | "first" | "last") => void; hasPrev: import("vue").ComputedRef; hasNext: import("vue").ComputedRef; }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<{ 'update:modelValue': (value: any) => true; }, "$children" | "v-slots" | "v-slot:default" | "modelValue" | "update:modelValue" | "v-slot:next" | "v-slot:prev">, string, { symbol: any; direction: "horizontal" | "vertical"; style: import("vue").StyleValue; mobile: boolean | null; disabled: boolean; multiple: boolean; tag: string | import("../../util/index.js").JSXComponent; selectedClass: string; centerActive: boolean; nextIcon: IconValue; prevIcon: IconValue; }, {}, string, import("vue").SlotsType import("vue").VNode[]; prev: (arg: SlideGroupSlot) => import("vue").VNode[]; next: (arg: SlideGroupSlot) => 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: VSlideGroupSlots) => GenericProps) & import("../../util/index.js").FilterPropsOptions<{ modelValue: { type: null; default: undefined; }; multiple: BooleanConstructor; mandatory: PropType; max: NumberConstructor; selectedClass: { type: PropType; default: string; }; disabled: BooleanConstructor; tag: { type: PropType; default: string; }; mobile: Omit<{ type: PropType; default: boolean; }, "type" | "default"> & { type: PropType; default: NonNullable | null; }; mobileBreakpoint: PropType; class: PropType; style: { type: PropType; default: null; }; centerActive: BooleanConstructor; contentClass: null; direction: { type: PropType<"horizontal" | "vertical">; default: string; }; symbol: { type: null; default: InjectionKey; }; nextIcon: { type: PropType; default: string; }; prevIcon: { type: PropType; default: string; }; showArrows: { type: (StringConstructor | BooleanConstructor)[]; validator: (v: any) => boolean; }; }, import("vue").ExtractPropTypes<{ modelValue: { type: null; default: undefined; }; multiple: BooleanConstructor; mandatory: PropType; max: NumberConstructor; selectedClass: { type: PropType; default: string; }; disabled: BooleanConstructor; tag: { type: PropType; default: string; }; mobile: Omit<{ type: PropType; default: boolean; }, "type" | "default"> & { type: PropType; default: NonNullable | null; }; mobileBreakpoint: PropType; class: PropType; style: { type: PropType; default: null; }; centerActive: BooleanConstructor; contentClass: null; direction: { type: PropType<"horizontal" | "vertical">; default: string; }; symbol: { type: null; default: InjectionKey; }; nextIcon: { type: PropType; default: string; }; prevIcon: { type: PropType; default: string; }; showArrows: { type: (StringConstructor | BooleanConstructor)[]; validator: (v: any) => boolean; }; }>>; export type VSlideGroup = InstanceType;