/// <reference types="node" />
export declare const UiTable2: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    readonly data: {
        readonly type: import("vue").PropType<any[]>;
        readonly required: true;
    };
    readonly error: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly height: {
        readonly type: NumberConstructor;
    };
    readonly option: {
        readonly type: import("vue").PropType<import("./src/component").UiTableOption2[]>;
        readonly required: true;
    };
    readonly spacing: {
        readonly type: import("vue").PropType<string | number>;
        readonly default: 0;
    };
    readonly selector: {
        readonly type: import("vue").PropType<"children" | "radio" | "checkbox">;
    };
    readonly overflow: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
}>, {
    define: import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
        readonly data: {
            readonly type: import("vue").PropType<any[]>;
            readonly required: true;
        };
        readonly error: {
            readonly type: StringConstructor;
            readonly default: "";
        };
        readonly height: {
            readonly type: NumberConstructor;
        };
        readonly option: {
            readonly type: import("vue").PropType<import("./src/component").UiTableOption2[]>;
            readonly required: true;
        };
        readonly spacing: {
            readonly type: import("vue").PropType<string | number>;
            readonly default: 0;
        };
        readonly selector: {
            readonly type: import("vue").PropType<"children" | "radio" | "checkbox">;
        };
        readonly overflow: {
            readonly type: BooleanConstructor;
            readonly default: false;
        };
    }>> & Readonly<{
        onSort?: ((_result: {
            key: string;
            value: string;
        }) => any) | undefined;
        onRadio?: ((_data: any) => any) | undefined;
        onCheckbox?: ((_data: any[]) => any) | undefined;
    }> & {}>;
    emits: ((event: "sort", _result: {
        key: string;
        value: string;
    }) => void) & ((event: "radio", _data: any) => void) & ((event: "checkbox", _data: any[]) => void);
    ons: {
        animation: {
            "before-enter": (el: Element) => gsap.core.Tween;
            leave: (el: Element, onComplete: () => void) => gsap.core.Tween;
            enter: (el: Element, onComplete: () => void) => gsap.core.Tween;
        };
    };
    refs: {
        sorts: {
            key: string;
            value: string;
        };
        selects: import("vue").Ref<number[], number[]>;
        childrens: import("vue").Ref<number[], number[]>;
    };
    nodes: {
        head: import("vue").Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
        main: import("vue").Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
        bodys: import("vue").Ref<HTMLDivElement[], HTMLDivElement[]>;
        container: import("vue").Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
    };
    watchs: {
        watch_stop: import("vue").WatchHandle;
    };
    methods: {
        init: () => void;
        sort: (data?: import("./src/component").UiTableOption2 | undefined) => void;
        radio: (index?: number | undefined) => void;
        select: (index: number) => void;
        checkbox: (index?: number | undefined) => void;
        children: (index?: number | undefined, callBack?: ((result: boolean) => void) | undefined) => void;
    };
    variable: {
        size: number;
        observer: import("vue").ShallowRef<ResizeObserver | undefined, ResizeObserver | undefined>;
    };
    disposable: {
        body: (data: any, index: number) => {
            class: string;
        } | {
            class?: undefined;
        };
        extra: (data: import("./src/component").UiTableOption2) => {
            align: "center";
            trigger: "click";
            direction: "bottom";
            "class-extra-name": string | undefined;
        };
        align: (data: import("./src/component").UiTableOption2) => import("vue").StyleValue;
    };
    sorts: {
        key: string;
        value: string;
    };
    childrens: import("vue").Ref<number[], number[]>;
    container: import("vue").Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
    bodys: import("vue").Ref<HTMLDivElement[], HTMLDivElement[]>;
    head: import("vue").Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
    main: import("vue").Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
    sort: (data?: import("./src/component").UiTableOption2 | undefined) => void;
    radio: (index?: number | undefined) => void;
    checkbox: (index?: number | undefined) => void;
    children: (index?: number | undefined, callBack?: ((result: boolean) => void) | undefined) => void;
    readonly UiIcon: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        readonly name: StringConstructor;
    }>, {
        define: import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
            readonly name: StringConstructor;
        }>> & Readonly<{
            onClick?: ((_ev?: Event | MouseEvent | undefined) => any) | undefined;
        }> & {}>;
        emits: (event: "click", _ev?: Event | MouseEvent | undefined) => void;
        click: (ev: Event | MouseEvent) => void;
        name: import("vue").ComputedRef<string>;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        click: (_ev?: Event | MouseEvent | undefined) => boolean;
    }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        readonly name: StringConstructor;
    }>> & Readonly<{
        onClick?: ((_ev?: Event | MouseEvent | undefined) => any) | undefined;
    }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    readonly UiSimplebar: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        readonly height: {
            readonly type: import("vue").PropType<string | number>;
        };
        readonly spacing: {
            readonly type: NumberConstructor;
            readonly default: 2;
        };
        readonly trigger: {
            readonly type: import("vue").PropType<"Hover">;
        };
    }>, {
        emits: (event: "scroll", _ev: Event) => void;
        define: import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
            readonly height: {
                readonly type: import("vue").PropType<string | number>;
            };
            readonly spacing: {
                readonly type: NumberConstructor;
                readonly default: 2;
            };
            readonly trigger: {
                readonly type: import("vue").PropType<"Hover">;
            };
        }>> & Readonly<{
            onScroll?: ((_ev: Event) => any) | undefined;
        }> & {}>;
        refs: {
            visible: import("vue").Ref<boolean, boolean>;
        };
        vars: {
            observer: ResizeObserver | undefined;
        };
        nodes: {
            slideway: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
            container: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
        };
        binds: {
            bar: {
                style: {
                    borderWidth: string;
                };
            };
            container: {
                style?: undefined;
            } | {
                style: {
                    "max-height": string;
                };
            };
        };
        methods: {
            init: () => false | undefined;
            drag: (ev: MouseEvent) => void;
            move: (ev: MouseEvent) => void;
            site: (node: {
                bar: HTMLElement;
                content: HTMLElement;
            }) => number | undefined;
        };
        slideway: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
        container: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
        visible: import("vue").Ref<boolean, boolean>;
        move: (top: number) => void;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        scroll: (_ev: Event) => boolean;
    }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        readonly height: {
            readonly type: import("vue").PropType<string | number>;
        };
        readonly spacing: {
            readonly type: NumberConstructor;
            readonly default: 2;
        };
        readonly trigger: {
            readonly type: import("vue").PropType<"Hover">;
        };
    }>> & Readonly<{
        onScroll?: ((_ev: Event) => any) | undefined;
    }>, {
        readonly spacing: number;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    readonly UiTooltip: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        readonly classExtraName: {
            readonly type: StringConstructor;
        };
        readonly direction: {
            readonly type: import("vue").PropType<import("../..").UiTypes.direction>;
            readonly default: "right";
        };
        readonly disabled: {
            readonly type: BooleanConstructor;
            readonly default: false;
        };
        readonly trigger: {
            readonly type: import("vue").PropType<"click" | "none" | "hover">;
            readonly default: "hover";
        };
        readonly content: {
            readonly type: StringConstructor;
        };
        readonly offset: {
            readonly type: NumberConstructor;
            readonly default: 8;
        };
        readonly zIndex: {
            readonly type: NumberConstructor;
            readonly default: 66;
        };
        readonly width: {
            readonly type: NumberConstructor;
        };
        readonly align: {
            readonly type: import("vue").PropType<import("../..").UiTypes.align>;
            readonly default: "start";
        };
    }>, {
        emits: ((event: "before-enter") => void) & ((event: "before-leave") => void) & ((event: "after-enter") => void) & ((event: "after-leave") => void);
        define: import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
            readonly classExtraName: {
                readonly type: StringConstructor;
            };
            readonly direction: {
                readonly type: import("vue").PropType<import("../..").UiTypes.direction>;
                readonly default: "right";
            };
            readonly disabled: {
                readonly type: BooleanConstructor;
                readonly default: false;
            };
            readonly trigger: {
                readonly type: import("vue").PropType<"click" | "none" | "hover">;
                readonly default: "hover";
            };
            readonly content: {
                readonly type: StringConstructor;
            };
            readonly offset: {
                readonly type: NumberConstructor;
                readonly default: 8;
            };
            readonly zIndex: {
                readonly type: NumberConstructor;
                readonly default: 66;
            };
            readonly width: {
                readonly type: NumberConstructor;
            };
            readonly align: {
                readonly type: import("vue").PropType<import("../..").UiTypes.align>;
                readonly default: "start";
            };
        }>> & Readonly<{
            "onBefore-enter"?: (() => any) | undefined;
            "onBefore-leave"?: (() => any) | undefined;
            "onAfter-enter"?: (() => any) | undefined;
            "onAfter-leave"?: (() => any) | undefined;
        }> & {}>;
        ons: {
            animation: {
                "before-leave": () => void | undefined;
                "before-enter": (el: Element) => void;
                leave: (el: Element, done: () => void) => void;
                enter: (el: Element, done: () => void) => void;
            };
            container: {
                click: () => false | void;
                mouseenter: () => false | void;
                mouseleave: () => false | void;
            };
            content: {
                mouseenter: () => false | void;
                mouseleave: () => false | void;
            };
        };
        vars: {
            observer: ResizeObserver | undefined;
        };
        refs: {
            active: import("vue").Ref<boolean, boolean>;
            visible: import("vue").Ref<boolean, boolean>;
            visibleTimer: import("vue").Ref<NodeJS.Timeout | undefined, NodeJS.Timeout | undefined>;
        };
        nodes: {
            container: import("vue").Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
            triangle: import("vue").Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
            tooltip: import("vue").Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
        };
        methods: {
            show: () => void;
            hidden: (delay?: number) => void;
        };
        computeds: {
            style: import("vue").ComputedRef<any>;
        };
        active: import("vue").Ref<boolean, boolean>;
        visible: import("vue").Ref<boolean, boolean>;
        container: import("vue").Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
        triangle: import("vue").Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
        tooltip: import("vue").Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
        show: () => void;
        hidden: (delay?: number) => void;
        style: import("vue").ComputedRef<any>;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        "before-enter": () => boolean;
        "before-leave": () => boolean;
        "after-enter": () => boolean;
        "after-leave": () => boolean;
    }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        readonly classExtraName: {
            readonly type: StringConstructor;
        };
        readonly direction: {
            readonly type: import("vue").PropType<import("../..").UiTypes.direction>;
            readonly default: "right";
        };
        readonly disabled: {
            readonly type: BooleanConstructor;
            readonly default: false;
        };
        readonly trigger: {
            readonly type: import("vue").PropType<"click" | "none" | "hover">;
            readonly default: "hover";
        };
        readonly content: {
            readonly type: StringConstructor;
        };
        readonly offset: {
            readonly type: NumberConstructor;
            readonly default: 8;
        };
        readonly zIndex: {
            readonly type: NumberConstructor;
            readonly default: 66;
        };
        readonly width: {
            readonly type: NumberConstructor;
        };
        readonly align: {
            readonly type: import("vue").PropType<import("../..").UiTypes.align>;
            readonly default: "start";
        };
    }>> & Readonly<{
        "onBefore-enter"?: (() => any) | undefined;
        "onBefore-leave"?: (() => any) | undefined;
        "onAfter-enter"?: (() => any) | undefined;
        "onAfter-leave"?: (() => any) | undefined;
    }>, {
        readonly zIndex: number;
        readonly direction: import("../..").UiTypes.direction;
        readonly disabled: boolean;
        readonly trigger: "click" | "none" | "hover";
        readonly offset: number;
        readonly align: import("../..").UiTypes.align;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    readonly UiTooltipFollow: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        readonly classExtraName: {
            readonly type: StringConstructor;
        };
        readonly disabled: {
            readonly type: BooleanConstructor;
            readonly default: false;
        };
        readonly content: {
            readonly type: StringConstructor;
        };
        readonly offsetX: {
            readonly type: NumberConstructor;
            readonly default: 20;
        };
        readonly offsetY: {
            readonly type: NumberConstructor;
            readonly default: 20;
        };
        readonly zIndex: {
            readonly type: NumberConstructor;
            readonly default: 66;
        };
        readonly width: {
            readonly type: NumberConstructor;
        };
    }>, {
        emits: ((event: "before-enter") => void) & ((event: "before-leave") => void) & ((event: "after-enter") => void) & ((event: "after-leave") => void);
        define: import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
            readonly classExtraName: {
                readonly type: StringConstructor;
            };
            readonly disabled: {
                readonly type: BooleanConstructor;
                readonly default: false;
            };
            readonly content: {
                readonly type: StringConstructor;
            };
            readonly offsetX: {
                readonly type: NumberConstructor;
                readonly default: 20;
            };
            readonly offsetY: {
                readonly type: NumberConstructor;
                readonly default: 20;
            };
            readonly zIndex: {
                readonly type: NumberConstructor;
                readonly default: 66;
            };
            readonly width: {
                readonly type: NumberConstructor;
            };
        }>> & Readonly<{
            "onBefore-enter"?: (() => any) | undefined;
            "onBefore-leave"?: (() => any) | undefined;
            "onAfter-enter"?: (() => any) | undefined;
            "onAfter-leave"?: (() => any) | undefined;
        }> & {}>;
        ons: {
            animation: {
                "before-leave": () => void | undefined;
                "before-enter": (el: Element) => void;
                leave: (el: Element, done: () => void) => void;
                enter: (el: Element, done: () => void) => void;
            };
            container: {
                mouseenter: (ev: MouseEvent) => false | void;
                mouseleave: () => false | void;
                mousemove: (ev: MouseEvent) => false | void;
            };
            content: {
                mouseleave: () => false | void;
                mouseenter: () => void;
            };
        };
        refs: {
            event: import("vue").Ref<MouseEvent | undefined, MouseEvent | undefined>;
            active: import("vue").Ref<boolean, boolean>;
            visible: import("vue").Ref<boolean, boolean>;
            visibleTimer: import("vue").Ref<NodeJS.Timeout | undefined, NodeJS.Timeout | undefined>;
        };
        nodes: {
            tooltip: import("vue").Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
        };
        methods: {
            show: (ev: MouseEvent, initialization?: boolean | undefined) => void;
            hidden: (delay?: number) => void;
        };
        computeds: {
            style: import("vue").ComputedRef<any>;
        };
        active: import("vue").Ref<boolean, boolean>;
        visible: import("vue").Ref<boolean, boolean>;
        tooltip: import("vue").Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
        show: (ev: MouseEvent, initialization?: boolean | undefined) => void;
        hidden: (delay?: number) => void;
        style: import("vue").ComputedRef<any>;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        "before-enter": () => boolean;
        "before-leave": () => boolean;
        "after-enter": () => boolean;
        "after-leave": () => boolean;
    }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        readonly classExtraName: {
            readonly type: StringConstructor;
        };
        readonly disabled: {
            readonly type: BooleanConstructor;
            readonly default: false;
        };
        readonly content: {
            readonly type: StringConstructor;
        };
        readonly offsetX: {
            readonly type: NumberConstructor;
            readonly default: 20;
        };
        readonly offsetY: {
            readonly type: NumberConstructor;
            readonly default: 20;
        };
        readonly zIndex: {
            readonly type: NumberConstructor;
            readonly default: 66;
        };
        readonly width: {
            readonly type: NumberConstructor;
        };
    }>> & Readonly<{
        "onBefore-enter"?: (() => any) | undefined;
        "onBefore-leave"?: (() => any) | undefined;
        "onAfter-enter"?: (() => any) | undefined;
        "onAfter-leave"?: (() => any) | undefined;
    }>, {
        readonly zIndex: number;
        readonly disabled: boolean;
        readonly offsetX: number;
        readonly offsetY: number;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    sort: (_result: {
        key: string;
        value: string;
    }) => boolean;
    radio: (_data: any) => boolean;
    checkbox: (_data: any[]) => boolean;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    readonly data: {
        readonly type: import("vue").PropType<any[]>;
        readonly required: true;
    };
    readonly error: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly height: {
        readonly type: NumberConstructor;
    };
    readonly option: {
        readonly type: import("vue").PropType<import("./src/component").UiTableOption2[]>;
        readonly required: true;
    };
    readonly spacing: {
        readonly type: import("vue").PropType<string | number>;
        readonly default: 0;
    };
    readonly selector: {
        readonly type: import("vue").PropType<"children" | "radio" | "checkbox">;
    };
    readonly overflow: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
}>> & Readonly<{
    onSort?: ((_result: {
        key: string;
        value: string;
    }) => any) | undefined;
    onRadio?: ((_data: any) => any) | undefined;
    onCheckbox?: ((_data: any[]) => any) | undefined;
}>, {
    readonly overflow: boolean;
    readonly error: string;
    readonly spacing: string | number;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export * from "./src/component";
export default UiTable2;
