import type { TdBackTopProps } from './type';
import './style';
export * from './type';
export declare type BackTopProps = TdBackTopProps;
export declare const BackTop: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            offset: (string | number)[];
            target: import("..").AttachNode;
            size: "small" | "medium";
            duration: number;
            shape: import("./type").BackTopShapeEnum;
            container: import("..").AttachNode;
            theme: "dark" | "light" | "primary";
            visibleHeight: string | number;
        }> & Omit<Readonly<import("vue").ExtractPropTypes<{
            container: {
                type: import("vue").PropType<import("..").AttachNode>;
                default: import("..").AttachNode;
            };
            content: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            default: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            duration: {
                type: NumberConstructor;
                default: number;
            };
            offset: {
                type: import("vue").PropType<(string | number)[]>;
                default: () => (string | number)[];
            };
            shape: {
                type: import("vue").PropType<import("./type").BackTopShapeEnum>;
                default: import("./type").BackTopShapeEnum;
                validator(val: import("./type").BackTopShapeEnum): boolean;
            };
            size: {
                type: import("vue").PropType<"small" | "medium">;
                default: "small" | "medium";
                validator(val: "small" | "medium"): boolean;
            };
            target: {
                type: import("vue").PropType<import("..").AttachNode>;
                default: import("..").AttachNode;
            };
            theme: {
                type: import("vue").PropType<"dark" | "light" | "primary">;
                default: "dark" | "light" | "primary";
                validator(val: "dark" | "light" | "primary"): boolean;
            };
            visibleHeight: {
                type: import("vue").PropType<string | number>;
                default: string | number;
            };
            onClick: import("vue").PropType<(context: {
                e: MouseEvent;
            }) => void>;
        }>> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "offset" | "target" | "size" | "duration" | "shape" | "container" | "theme" | "visibleHeight">;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot;
        }>;
        $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>;
        $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>;
        $emit: (event: string, ...args: any[]) => void;
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
            container: {
                type: import("vue").PropType<import("..").AttachNode>;
                default: import("..").AttachNode;
            };
            content: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            default: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            duration: {
                type: NumberConstructor;
                default: number;
            };
            offset: {
                type: import("vue").PropType<(string | number)[]>;
                default: () => (string | number)[];
            };
            shape: {
                type: import("vue").PropType<import("./type").BackTopShapeEnum>;
                default: import("./type").BackTopShapeEnum;
                validator(val: import("./type").BackTopShapeEnum): boolean;
            };
            size: {
                type: import("vue").PropType<"small" | "medium">;
                default: "small" | "medium";
                validator(val: "small" | "medium"): boolean;
            };
            target: {
                type: import("vue").PropType<import("..").AttachNode>;
                default: import("..").AttachNode;
            };
            theme: {
                type: import("vue").PropType<"dark" | "light" | "primary">;
                default: "dark" | "light" | "primary";
                validator(val: "dark" | "light" | "primary"): boolean;
            };
            visibleHeight: {
                type: import("vue").PropType<string | number>;
                default: string | number;
            };
            onClick: import("vue").PropType<(context: {
                e: MouseEvent;
            }) => void>;
        }>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
            offset: (string | number)[];
            target: import("..").AttachNode;
            size: "small" | "medium";
            duration: number;
            shape: import("./type").BackTopShapeEnum;
            container: import("..").AttachNode;
            theme: "dark" | "light" | "primary";
            visibleHeight: string | number;
        }, {}, string> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof import("vue").nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
    } & Readonly<import("vue").ExtractPropTypes<{
        container: {
            type: import("vue").PropType<import("..").AttachNode>;
            default: import("..").AttachNode;
        };
        content: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
        };
        default: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
        };
        duration: {
            type: NumberConstructor;
            default: number;
        };
        offset: {
            type: import("vue").PropType<(string | number)[]>;
            default: () => (string | number)[];
        };
        shape: {
            type: import("vue").PropType<import("./type").BackTopShapeEnum>;
            default: import("./type").BackTopShapeEnum;
            validator(val: import("./type").BackTopShapeEnum): boolean;
        };
        size: {
            type: import("vue").PropType<"small" | "medium">;
            default: "small" | "medium";
            validator(val: "small" | "medium"): boolean;
        };
        target: {
            type: import("vue").PropType<import("..").AttachNode>;
            default: import("..").AttachNode;
        };
        theme: {
            type: import("vue").PropType<"dark" | "light" | "primary">;
            default: "dark" | "light" | "primary";
            validator(val: "dark" | "light" | "primary"): boolean;
        };
        visibleHeight: {
            type: import("vue").PropType<string | number>;
            default: string | number;
        };
        onClick: import("vue").PropType<(context: {
            e: MouseEvent;
        }) => void>;
    }>> & import("vue").ShallowUnwrapRef<() => JSX.Element> & {} & import("vue").ComponentCustomProperties & {};
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    container: {
        type: import("vue").PropType<import("..").AttachNode>;
        default: import("..").AttachNode;
    };
    content: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
    };
    default: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
    };
    duration: {
        type: NumberConstructor;
        default: number;
    };
    offset: {
        type: import("vue").PropType<(string | number)[]>;
        default: () => (string | number)[];
    };
    shape: {
        type: import("vue").PropType<import("./type").BackTopShapeEnum>;
        default: import("./type").BackTopShapeEnum;
        validator(val: import("./type").BackTopShapeEnum): boolean;
    };
    size: {
        type: import("vue").PropType<"small" | "medium">;
        default: "small" | "medium";
        validator(val: "small" | "medium"): boolean;
    };
    target: {
        type: import("vue").PropType<import("..").AttachNode>;
        default: import("..").AttachNode;
    };
    theme: {
        type: import("vue").PropType<"dark" | "light" | "primary">;
        default: "dark" | "light" | "primary";
        validator(val: "dark" | "light" | "primary"): boolean;
    };
    visibleHeight: {
        type: import("vue").PropType<string | number>;
        default: string | number;
    };
    onClick: import("vue").PropType<(context: {
        e: MouseEvent;
    }) => void>;
}>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
    offset: (string | number)[];
    target: import("..").AttachNode;
    size: "small" | "medium";
    duration: number;
    shape: import("./type").BackTopShapeEnum;
    container: import("..").AttachNode;
    theme: "dark" | "light" | "primary";
    visibleHeight: string | number;
}, {}, string> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("@vue/runtime-core").Plugin<any[]>;
export default BackTop;
