import { Ref } from 'vue';
import { UniElement } from '../../helpers/UniElement';

export interface SwiperContext {
    rootRef: Ref<HTMLElement | null>;
    getItemId(): string;
    getBoundingClientRect(): DOMRect;
    updatePosition(position: number, vertical: boolean): void;
}
export type AddSwiperContext = (context: SwiperContext) => void;
export type RemoveSwiperContext = (context: SwiperContext) => void;
export declare class UniSwiperElement extends UniElement {
}
declare const _default: import('vue').DefineComponent<{
    indicatorDots: {
        type: (BooleanConstructor | StringConstructor)[];
        default: boolean;
    };
    vertical: {
        type: (BooleanConstructor | StringConstructor)[];
        default: boolean;
    };
    autoplay: {
        type: (BooleanConstructor | StringConstructor)[];
        default: boolean;
    };
    circular: {
        type: (BooleanConstructor | StringConstructor)[];
        default: boolean;
    };
    interval: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    duration: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    current: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    indicatorColor: {
        type: StringConstructor;
        default: string;
    };
    indicatorActiveColor: {
        type: StringConstructor;
        default: string;
    };
    previousMargin: {
        type: StringConstructor;
        default: string;
    };
    nextMargin: {
        type: StringConstructor;
        default: string;
    };
    currentItemId: {
        type: StringConstructor;
        default: string;
    };
    skipHiddenItemLayout: {
        type: (BooleanConstructor | StringConstructor)[];
        default: boolean;
    };
    displayMultipleItems: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    disableTouch: {
        type: (BooleanConstructor | StringConstructor)[];
        default: boolean;
    };
    navigation: {
        type: (BooleanConstructor | StringConstructor)[];
        default: boolean;
    };
    navigationColor: {
        type: StringConstructor;
        default: string;
    };
    navigationActiveColor: {
        type: StringConstructor;
        default: string;
    };
}, () => any, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("transition" | "change" | "animationfinish" | "update:current" | "update:currentItemId")[], "transition" | "change" | "animationfinish" | "update:current" | "update:currentItemId", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    indicatorDots: {
        type: (BooleanConstructor | StringConstructor)[];
        default: boolean;
    };
    vertical: {
        type: (BooleanConstructor | StringConstructor)[];
        default: boolean;
    };
    autoplay: {
        type: (BooleanConstructor | StringConstructor)[];
        default: boolean;
    };
    circular: {
        type: (BooleanConstructor | StringConstructor)[];
        default: boolean;
    };
    interval: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    duration: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    current: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    indicatorColor: {
        type: StringConstructor;
        default: string;
    };
    indicatorActiveColor: {
        type: StringConstructor;
        default: string;
    };
    previousMargin: {
        type: StringConstructor;
        default: string;
    };
    nextMargin: {
        type: StringConstructor;
        default: string;
    };
    currentItemId: {
        type: StringConstructor;
        default: string;
    };
    skipHiddenItemLayout: {
        type: (BooleanConstructor | StringConstructor)[];
        default: boolean;
    };
    displayMultipleItems: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    disableTouch: {
        type: (BooleanConstructor | StringConstructor)[];
        default: boolean;
    };
    navigation: {
        type: (BooleanConstructor | StringConstructor)[];
        default: boolean;
    };
    navigationColor: {
        type: StringConstructor;
        default: string;
    };
    navigationActiveColor: {
        type: StringConstructor;
        default: string;
    };
}>> & {
    onTransition?: ((...args: any[]) => any) | undefined;
    onChange?: ((...args: any[]) => any) | undefined;
    onAnimationfinish?: ((...args: any[]) => any) | undefined;
    "onUpdate:current"?: ((...args: any[]) => any) | undefined;
    "onUpdate:currentItemId"?: ((...args: any[]) => any) | undefined;
}, {
    indicatorDots: string | boolean;
    vertical: string | boolean;
    autoplay: string | boolean;
    circular: string | boolean;
    interval: string | number;
    duration: string | number;
    current: string | number;
    indicatorColor: string;
    indicatorActiveColor: string;
    previousMargin: string;
    nextMargin: string;
    currentItemId: string;
    skipHiddenItemLayout: string | boolean;
    displayMultipleItems: string | number;
    disableTouch: string | boolean;
    navigation: string | boolean;
    navigationColor: string;
    navigationActiveColor: string;
}, {}>;
export default _default;
