import * as vue from 'vue'; import { ComponentPropsOptions, ExtractPropTypes, JSXComponent, PropType, ComponentInternalInstance, Ref, ComputedRef, InjectionKey, UnwrapRef } from 'vue'; interface FilterPropsOptions, Props = ExtractPropTypes> { filterProps, U extends Exclude>>(props: T): [yes: Partial>, no: Omit]; } type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent; declare const IconValue: PropType; interface GroupItem { id: number; value: Ref; disabled: Ref; } interface GroupProvide { register: (item: GroupItem, cmp: ComponentInternalInstance) => void; unregister: (id: number) => void; select: (id: number, value: boolean) => void; selected: Ref>; isSelected: (id: number) => boolean; prev: () => void; next: () => void; selectedClass: Ref; items: ComputedRef<{ id: number; value: unknown; disabled: boolean | undefined; }[]>; disabled: Ref; getItemIndex: (value: unknown) => number; } interface GroupItemProvide { id: number; isSelected: Ref; toggle: () => void; select: (value: boolean) => void; selectedClass: Ref<(string | undefined)[] | false>; value: Ref; disabled: Ref; group: GroupProvide; } interface SlideGroupSlot { next: GroupProvide['next']; prev: GroupProvide['prev']; select: GroupProvide['select']; isSelected: GroupProvide['isSelected']; } declare const VSlideGroup: { new (...args: any[]): { $: vue.ComponentInternalInstance; $data: {}; $props: { symbol?: any; direction?: "horizontal" | "vertical" | undefined; style?: vue.StyleValue | undefined; disabled?: boolean | undefined; multiple?: boolean | undefined; tag?: string | undefined; modelValue?: any; selectedClass?: string | undefined; nextIcon?: IconValue | undefined; prevIcon?: IconValue | undefined; centerActive?: boolean | undefined; max?: number | undefined; key?: string | number | symbol | undefined; class?: any; mandatory?: boolean | "force" | undefined; $children?: vue.VNodeChild | { default?: ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; prev?: ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; next?: ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; } | ((arg: SlideGroupSlot) => vue.VNodeChild); ref?: vue.VNodeRef | undefined; ref_for?: boolean | undefined; ref_key?: string | undefined; "v-slot:default"?: false | ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; 'v-slots'?: { default?: false | ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; prev?: false | ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; next?: false | ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; } | undefined; onVnodeBeforeMount?: ((vnode: vue.VNode) => void) | ((vnode: vue.VNode) => void)[] | undefined; onVnodeMounted?: ((vnode: vue.VNode) => void) | ((vnode: vue.VNode) => void)[] | undefined; onVnodeBeforeUpdate?: ((vnode: vue.VNode, oldVNode: vue.VNode) => void) | ((vnode: vue.VNode, oldVNode: vue.VNode) => void)[] | undefined; onVnodeUpdated?: ((vnode: vue.VNode, oldVNode: vue.VNode) => void) | ((vnode: vue.VNode, oldVNode: vue.VNode) => void)[] | undefined; onVnodeBeforeUnmount?: ((vnode: vue.VNode) => void) | ((vnode: vue.VNode) => void)[] | undefined; onVnodeUnmounted?: ((vnode: vue.VNode) => void) | ((vnode: vue.VNode) => void)[] | undefined; "onUpdate:modelValue"?: ((value: any) => any) | undefined; showArrows?: string | boolean | undefined; "v-slot:next"?: false | ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; "v-slot:prev"?: false | ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; }; $attrs: { [x: string]: unknown; }; $refs: { [x: string]: unknown; }; $slots: Readonly<{ default?: ((arg: SlideGroupSlot) => vue.VNode[]) | undefined; prev?: ((arg: SlideGroupSlot) => vue.VNode[]) | undefined; next?: ((arg: SlideGroupSlot) => vue.VNode[]) | undefined; }>; $root: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase, {}, {}> | null; $parent: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase, {}, {}> | null; $emit: (event: "update:modelValue", value: any) => void; $el: any; $options: vue.ComponentOptionsBase<{ symbol: any; direction: "horizontal" | "vertical"; style: vue.StyleValue; disabled: boolean; multiple: boolean; tag: string; selectedClass: string; nextIcon: IconValue; prevIcon: IconValue; centerActive: boolean; } & { max?: number | undefined; class?: any; mandatory?: boolean | "force" | undefined; modelValue?: any; showArrows?: string | boolean | undefined; } & { $children?: vue.VNodeChild | { default?: ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; prev?: ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; next?: ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; } | ((arg: SlideGroupSlot) => vue.VNodeChild); 'v-slots'?: { default?: false | ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; prev?: false | ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; next?: false | ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; "v-slot:prev"?: false | ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; "v-slot:next"?: false | ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; } & { "onUpdate:modelValue"?: ((value: any) => any) | undefined; }, { selected: vue.Ref; scrollTo: (location: 'prev' | 'next') => void; scrollOffset: vue.ShallowRef; focus: (location?: 'next' | 'prev' | 'first' | 'last') => void; }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, { 'update:modelValue': (value: any) => boolean; }, string, { symbol: any; direction: "horizontal" | "vertical"; style: vue.StyleValue; disabled: boolean; multiple: boolean; tag: string; modelValue: any; selectedClass: string; nextIcon: IconValue; prevIcon: IconValue; centerActive: boolean; }, {}, string, vue.SlotsType vue.VNode[]; prev: (arg: SlideGroupSlot) => vue.VNode[]; next: (arg: SlideGroupSlot) => vue.VNode[]; }>>> & { beforeCreate?: ((() => void) | (() => void)[]) | undefined; created?: ((() => void) | (() => void)[]) | undefined; beforeMount?: ((() => void) | (() => void)[]) | undefined; mounted?: ((() => void) | (() => void)[]) | undefined; beforeUpdate?: ((() => void) | (() => void)[]) | undefined; updated?: ((() => void) | (() => void)[]) | undefined; activated?: ((() => void) | (() => void)[]) | undefined; deactivated?: ((() => void) | (() => void)[]) | undefined; beforeDestroy?: ((() => void) | (() => void)[]) | undefined; beforeUnmount?: ((() => void) | (() => void)[]) | undefined; destroyed?: ((() => void) | (() => void)[]) | undefined; unmounted?: ((() => void) | (() => void)[]) | undefined; renderTracked?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined; renderTriggered?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined; errorCaptured?: (((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase, {}, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase, {}, {}> | null, info: string) => boolean | void)[]) | undefined; }; $forceUpdate: () => void; $nextTick: typeof vue.nextTick; $watch any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: vue.WatchOptions | undefined): vue.WatchStopHandle; } & { symbol: any; direction: "horizontal" | "vertical"; style: vue.StyleValue; disabled: boolean; multiple: boolean; tag: string; selectedClass: string; nextIcon: IconValue; prevIcon: IconValue; centerActive: boolean; } & { max?: number | undefined; class?: any; mandatory?: boolean | "force" | undefined; modelValue?: any; showArrows?: string | boolean | undefined; } & { $children?: vue.VNodeChild | { default?: ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; prev?: ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; next?: ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; } | ((arg: SlideGroupSlot) => vue.VNodeChild); 'v-slots'?: { default?: false | ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; prev?: false | ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; next?: false | ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; "v-slot:prev"?: false | ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; "v-slot:next"?: false | ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; } & { "onUpdate:modelValue"?: ((value: any) => any) | undefined; } & vue.ShallowUnwrapRef<{ selected: vue.Ref; scrollTo: (location: 'prev' | 'next') => void; scrollOffset: vue.ShallowRef; focus: (location?: 'next' | 'prev' | 'first' | 'last') => void; }> & {} & vue.ComponentCustomProperties & {}; __isFragment?: undefined; __isTeleport?: undefined; __isSuspense?: undefined; } & vue.ComponentOptionsBase<{ symbol: any; direction: "horizontal" | "vertical"; style: vue.StyleValue; disabled: boolean; multiple: boolean; tag: string; selectedClass: string; nextIcon: IconValue; prevIcon: IconValue; centerActive: boolean; } & { max?: number | undefined; class?: any; mandatory?: boolean | "force" | undefined; modelValue?: any; showArrows?: string | boolean | undefined; } & { $children?: vue.VNodeChild | { default?: ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; prev?: ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; next?: ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; } | ((arg: SlideGroupSlot) => vue.VNodeChild); 'v-slots'?: { default?: false | ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; prev?: false | ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; next?: false | ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; "v-slot:prev"?: false | ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; "v-slot:next"?: false | ((arg: SlideGroupSlot) => vue.VNodeChild) | undefined; } & { "onUpdate:modelValue"?: ((value: any) => any) | undefined; }, { selected: vue.Ref; scrollTo: (location: 'prev' | 'next') => void; scrollOffset: vue.ShallowRef; focus: (location?: 'next' | 'prev' | 'first' | 'last') => void; }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, { 'update:modelValue': (value: any) => boolean; }, string, { symbol: any; direction: "horizontal" | "vertical"; style: vue.StyleValue; disabled: boolean; multiple: boolean; tag: string; modelValue: any; selectedClass: string; nextIcon: IconValue; prevIcon: IconValue; centerActive: boolean; }, {}, string, vue.SlotsType vue.VNode[]; prev: (arg: SlideGroupSlot) => vue.VNode[]; next: (arg: SlideGroupSlot) => vue.VNode[]; }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{ modelValue: { type: null; default: undefined; }; multiple: BooleanConstructor; mandatory: PropType; max: NumberConstructor; selectedClass: { type: PropType; default: string; }; disabled: BooleanConstructor; tag: { type: StringConstructor; default: string; }; class: PropType; style: { type: PropType; default: null; }; centerActive: BooleanConstructor; 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; }; }, vue.ExtractPropTypes<{ modelValue: { type: null; default: undefined; }; multiple: BooleanConstructor; mandatory: PropType; max: NumberConstructor; selectedClass: { type: PropType; default: string; }; disabled: BooleanConstructor; tag: { type: StringConstructor; default: string; }; class: PropType; style: { type: PropType; default: null; }; centerActive: BooleanConstructor; 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; }; }>>; type VSlideGroup = InstanceType; declare const VSlideGroupItem: { new (...args: any[]): { $: vue.ComponentInternalInstance; $data: {}; $props: { disabled?: boolean | undefined; key?: string | number | symbol | undefined; value?: any; style?: unknown; class?: unknown; $children?: vue.VNodeChild | { default?: ((arg: { isSelected: UnwrapRef; select: GroupItemProvide['select']; toggle: GroupItemProvide['toggle']; selectedClass: UnwrapRef; }) => vue.VNodeChild) | undefined; } | ((arg: { isSelected: UnwrapRef; select: GroupItemProvide['select']; toggle: GroupItemProvide['toggle']; selectedClass: UnwrapRef; }) => vue.VNodeChild); ref?: vue.VNodeRef | undefined; ref_for?: boolean | undefined; ref_key?: string | undefined; "v-slot:default"?: false | ((arg: { isSelected: UnwrapRef; select: GroupItemProvide['select']; toggle: GroupItemProvide['toggle']; selectedClass: UnwrapRef; }) => vue.VNodeChild) | undefined; 'v-slots'?: { default?: false | ((arg: { isSelected: UnwrapRef; select: GroupItemProvide['select']; toggle: GroupItemProvide['toggle']; selectedClass: UnwrapRef; }) => vue.VNodeChild) | undefined; } | undefined; onVnodeBeforeMount?: ((vnode: vue.VNode) => void) | ((vnode: vue.VNode) => void)[] | undefined; onVnodeMounted?: ((vnode: vue.VNode) => void) | ((vnode: vue.VNode) => void)[] | undefined; onVnodeBeforeUpdate?: ((vnode: vue.VNode, oldVNode: vue.VNode) => void) | ((vnode: vue.VNode, oldVNode: vue.VNode) => void)[] | undefined; onVnodeUpdated?: ((vnode: vue.VNode, oldVNode: vue.VNode) => void) | ((vnode: vue.VNode, oldVNode: vue.VNode) => void)[] | undefined; onVnodeBeforeUnmount?: ((vnode: vue.VNode) => void) | ((vnode: vue.VNode) => void)[] | undefined; onVnodeUnmounted?: ((vnode: vue.VNode) => void) | ((vnode: vue.VNode) => void)[] | undefined; selectedClass?: string | undefined; "onGroup:selected"?: ((val: { value: boolean; }) => any) | undefined; }; $attrs: { [x: string]: unknown; }; $refs: { [x: string]: unknown; }; $slots: Readonly<{ default?: ((arg: { isSelected: UnwrapRef; select: GroupItemProvide['select']; toggle: GroupItemProvide['toggle']; selectedClass: UnwrapRef; }) => vue.VNode[]) | undefined; }>; $root: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase, {}, {}> | null; $parent: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase, {}, {}> | null; $emit: (event: "group:selected", val: { value: boolean; }) => void; $el: any; $options: vue.ComponentOptionsBase<{ disabled: boolean; } & { value?: any; selectedClass?: string | undefined; } & { $children?: vue.VNodeChild | { default?: ((arg: { isSelected: UnwrapRef; select: GroupItemProvide['select']; toggle: GroupItemProvide['toggle']; selectedClass: UnwrapRef; }) => vue.VNodeChild) | undefined; } | ((arg: { isSelected: UnwrapRef; select: GroupItemProvide['select']; toggle: GroupItemProvide['toggle']; selectedClass: UnwrapRef; }) => vue.VNodeChild); 'v-slots'?: { default?: false | ((arg: { isSelected: UnwrapRef; select: GroupItemProvide['select']; toggle: GroupItemProvide['toggle']; selectedClass: UnwrapRef; }) => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | ((arg: { isSelected: UnwrapRef; select: GroupItemProvide['select']; toggle: GroupItemProvide['toggle']; selectedClass: UnwrapRef; }) => vue.VNodeChild) | undefined; } & { "onGroup:selected"?: ((val: { value: boolean; }) => any) | undefined; }, () => vue.VNode[] | undefined, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, { 'group:selected': (val: { value: boolean; }) => true; }, string, { disabled: boolean; }, {}, string, vue.SlotsType; select: GroupItemProvide['select']; toggle: GroupItemProvide['toggle']; selectedClass: UnwrapRef; }) => vue.VNode[]; }>>> & { beforeCreate?: ((() => void) | (() => void)[]) | undefined; created?: ((() => void) | (() => void)[]) | undefined; beforeMount?: ((() => void) | (() => void)[]) | undefined; mounted?: ((() => void) | (() => void)[]) | undefined; beforeUpdate?: ((() => void) | (() => void)[]) | undefined; updated?: ((() => void) | (() => void)[]) | undefined; activated?: ((() => void) | (() => void)[]) | undefined; deactivated?: ((() => void) | (() => void)[]) | undefined; beforeDestroy?: ((() => void) | (() => void)[]) | undefined; beforeUnmount?: ((() => void) | (() => void)[]) | undefined; destroyed?: ((() => void) | (() => void)[]) | undefined; unmounted?: ((() => void) | (() => void)[]) | undefined; renderTracked?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined; renderTriggered?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined; errorCaptured?: (((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase, {}, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase, {}, {}> | null, info: string) => boolean | void)[]) | undefined; }; $forceUpdate: () => void; $nextTick: typeof vue.nextTick; $watch any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: vue.WatchOptions | undefined): vue.WatchStopHandle; } & { disabled: boolean; } & { value?: any; selectedClass?: string | undefined; } & { $children?: vue.VNodeChild | { default?: ((arg: { isSelected: UnwrapRef; select: GroupItemProvide['select']; toggle: GroupItemProvide['toggle']; selectedClass: UnwrapRef; }) => vue.VNodeChild) | undefined; } | ((arg: { isSelected: UnwrapRef; select: GroupItemProvide['select']; toggle: GroupItemProvide['toggle']; selectedClass: UnwrapRef; }) => vue.VNodeChild); 'v-slots'?: { default?: false | ((arg: { isSelected: UnwrapRef; select: GroupItemProvide['select']; toggle: GroupItemProvide['toggle']; selectedClass: UnwrapRef; }) => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | ((arg: { isSelected: UnwrapRef; select: GroupItemProvide['select']; toggle: GroupItemProvide['toggle']; selectedClass: UnwrapRef; }) => vue.VNodeChild) | undefined; } & { "onGroup:selected"?: ((val: { value: boolean; }) => any) | undefined; } & vue.ShallowUnwrapRef<() => vue.VNode[] | undefined> & {} & vue.ComponentCustomProperties & {}; __isFragment?: undefined; __isTeleport?: undefined; __isSuspense?: undefined; } & vue.ComponentOptionsBase<{ disabled: boolean; } & { value?: any; selectedClass?: string | undefined; } & { $children?: vue.VNodeChild | { default?: ((arg: { isSelected: UnwrapRef; select: GroupItemProvide['select']; toggle: GroupItemProvide['toggle']; selectedClass: UnwrapRef; }) => vue.VNodeChild) | undefined; } | ((arg: { isSelected: UnwrapRef; select: GroupItemProvide['select']; toggle: GroupItemProvide['toggle']; selectedClass: UnwrapRef; }) => vue.VNodeChild); 'v-slots'?: { default?: false | ((arg: { isSelected: UnwrapRef; select: GroupItemProvide['select']; toggle: GroupItemProvide['toggle']; selectedClass: UnwrapRef; }) => vue.VNodeChild) | undefined; } | undefined; } & { "v-slot:default"?: false | ((arg: { isSelected: UnwrapRef; select: GroupItemProvide['select']; toggle: GroupItemProvide['toggle']; selectedClass: UnwrapRef; }) => vue.VNodeChild) | undefined; } & { "onGroup:selected"?: ((val: { value: boolean; }) => any) | undefined; }, () => vue.VNode[] | undefined, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, { 'group:selected': (val: { value: boolean; }) => true; }, string, { disabled: boolean; }, {}, string, vue.SlotsType; select: GroupItemProvide['select']; toggle: GroupItemProvide['toggle']; selectedClass: UnwrapRef; }) => vue.VNode[]; }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{ value: null; disabled: BooleanConstructor; selectedClass: StringConstructor; }, vue.ExtractPropTypes<{ value: null; disabled: BooleanConstructor; selectedClass: StringConstructor; }>>; type VSlideGroupItem = InstanceType; export { VSlideGroup, VSlideGroupItem };