import { TdTabBarProps, TdTabBarItemProps } from './type';
import './style';
export * from './type';
export type TabBarProps = TdTabBarProps;
export type TabBarItemProps = TdTabBarItemProps;
export declare const TabBar: {
    new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
        bordered: {
            type: BooleanConstructor;
            default: boolean;
        };
        fixed: {
            type: BooleanConstructor;
            default: boolean;
        };
        placeholder: BooleanConstructor;
        safeAreaInsetBottom: {
            type: BooleanConstructor;
            default: boolean;
        };
        shape: {
            type: import("vue").PropType<"normal" | "round">;
            default: "normal" | "round";
            validator(val: "normal" | "round"): boolean;
        };
        split: {
            type: BooleanConstructor;
            default: boolean;
        };
        theme: {
            type: import("vue").PropType<"normal" | "tag">;
            default: "normal" | "tag";
            validator(val: "normal" | "tag"): boolean;
        };
        value: {
            type: import("vue").PropType<string | number | (string | number)[]>;
            default: string | number | (string | number)[];
        };
        modelValue: {
            type: import("vue").PropType<string | number | (string | number)[]>;
            default: string | number | (string | number)[];
        };
        defaultValue: {
            type: import("vue").PropType<string | number | (string | number)[]>;
        };
        zIndex: {
            type: NumberConstructor;
            default: number;
        };
        onChange: import("vue").PropType<(value: string | number) => void>;
    }>> & Readonly<{
        onChange?: (...args: any[]) => any;
        "onUpdate:modelValue"?: (...args: any[]) => any;
        "onUpdate:value"?: (...args: any[]) => any;
    }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "update:modelValue" | "update:value")[], import("vue").PublicProps, {
        bordered: boolean;
        fixed: boolean;
        placeholder: boolean;
        safeAreaInsetBottom: boolean;
        shape: "normal" | "round";
        split: boolean;
        theme: "normal" | "tag";
        value: string | number | (string | number)[];
        modelValue: string | number | (string | number)[];
        zIndex: number;
    }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        bordered: {
            type: BooleanConstructor;
            default: boolean;
        };
        fixed: {
            type: BooleanConstructor;
            default: boolean;
        };
        placeholder: BooleanConstructor;
        safeAreaInsetBottom: {
            type: BooleanConstructor;
            default: boolean;
        };
        shape: {
            type: import("vue").PropType<"normal" | "round">;
            default: "normal" | "round";
            validator(val: "normal" | "round"): boolean;
        };
        split: {
            type: BooleanConstructor;
            default: boolean;
        };
        theme: {
            type: import("vue").PropType<"normal" | "tag">;
            default: "normal" | "tag";
            validator(val: "normal" | "tag"): boolean;
        };
        value: {
            type: import("vue").PropType<string | number | (string | number)[]>;
            default: string | number | (string | number)[];
        };
        modelValue: {
            type: import("vue").PropType<string | number | (string | number)[]>;
            default: string | number | (string | number)[];
        };
        defaultValue: {
            type: import("vue").PropType<string | number | (string | number)[]>;
        };
        zIndex: {
            type: NumberConstructor;
            default: number;
        };
        onChange: import("vue").PropType<(value: string | number) => void>;
    }>> & Readonly<{
        onChange?: (...args: any[]) => any;
        "onUpdate:modelValue"?: (...args: any[]) => any;
        "onUpdate:value"?: (...args: any[]) => any;
    }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
        bordered: boolean;
        fixed: boolean;
        placeholder: boolean;
        safeAreaInsetBottom: boolean;
        shape: "normal" | "round";
        split: boolean;
        theme: "normal" | "tag";
        value: string | number | (string | number)[];
        modelValue: string | number | (string | number)[];
        zIndex: number;
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    bordered: {
        type: BooleanConstructor;
        default: boolean;
    };
    fixed: {
        type: BooleanConstructor;
        default: boolean;
    };
    placeholder: BooleanConstructor;
    safeAreaInsetBottom: {
        type: BooleanConstructor;
        default: boolean;
    };
    shape: {
        type: import("vue").PropType<"normal" | "round">;
        default: "normal" | "round";
        validator(val: "normal" | "round"): boolean;
    };
    split: {
        type: BooleanConstructor;
        default: boolean;
    };
    theme: {
        type: import("vue").PropType<"normal" | "tag">;
        default: "normal" | "tag";
        validator(val: "normal" | "tag"): boolean;
    };
    value: {
        type: import("vue").PropType<string | number | (string | number)[]>;
        default: string | number | (string | number)[];
    };
    modelValue: {
        type: import("vue").PropType<string | number | (string | number)[]>;
        default: string | number | (string | number)[];
    };
    defaultValue: {
        type: import("vue").PropType<string | number | (string | number)[]>;
    };
    zIndex: {
        type: NumberConstructor;
        default: number;
    };
    onChange: import("vue").PropType<(value: string | number) => void>;
}>> & Readonly<{
    onChange?: (...args: any[]) => any;
    "onUpdate:modelValue"?: (...args: any[]) => any;
    "onUpdate:value"?: (...args: any[]) => any;
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "update:modelValue" | "update:value")[], "change" | "update:modelValue" | "update:value", {
    bordered: boolean;
    fixed: boolean;
    placeholder: boolean;
    safeAreaInsetBottom: boolean;
    shape: "normal" | "round";
    split: boolean;
    theme: "normal" | "tag";
    value: string | number | (string | number)[];
    modelValue: string | number | (string | number)[];
    zIndex: number;
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin;
export declare const TabBarItem: {
    new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
        badgeProps: {
            type: import("vue").PropType<import("@/badge").TdBadgeProps>;
        };
        icon: {
            type: import("vue").PropType<(h: typeof import("vue").h) => import("@/common").SlotReturnValue>;
        };
        subTabBar: {
            type: import("vue").PropType<import("@/components").SubTabBarItem[]>;
        };
        value: {
            type: import("vue").PropType<string | number>;
        };
    }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {}, true, {}, {}, {
        TBadge: {
            new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
                color: {
                    type: StringConstructor;
                    default: string;
                };
                content: {
                    type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue)>;
                };
                count: {
                    type: import("vue").PropType<string | number | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue)>;
                    default: string | number | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue);
                };
                dot: BooleanConstructor;
                maxCount: {
                    type: NumberConstructor;
                    default: number;
                };
                offset: {
                    type: import("vue").PropType<(string | number)[]>;
                };
                shape: {
                    type: import("vue").PropType<"bubble" | "circle" | "ribbon" | "ribbon-left" | "ribbon-right" | "square" | "triangle-left" | "triangle-right">;
                    default: "bubble" | "circle" | "ribbon" | "ribbon-left" | "ribbon-right" | "square" | "triangle-left" | "triangle-right";
                    validator(val: "bubble" | "circle" | "ribbon" | "ribbon-left" | "ribbon-right" | "square" | "triangle-left" | "triangle-right"): boolean;
                };
                showZero: BooleanConstructor;
                size: {
                    type: import("vue").PropType<"large" | "medium">;
                    default: "large" | "medium";
                    validator(val: "large" | "medium"): boolean;
                };
            }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
                color: string;
                count: string | number | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue);
                dot: boolean;
                maxCount: number;
                shape: "bubble" | "circle" | "ribbon" | "ribbon-left" | "ribbon-right" | "square" | "triangle-left" | "triangle-right";
                showZero: boolean;
                size: "large" | "medium";
            }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
                P: {};
                B: {};
                D: {};
                C: {};
                M: {};
                Defaults: {};
            }, Readonly<import("vue").ExtractPropTypes<{
                color: {
                    type: StringConstructor;
                    default: string;
                };
                content: {
                    type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue)>;
                };
                count: {
                    type: import("vue").PropType<string | number | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue)>;
                    default: string | number | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue);
                };
                dot: BooleanConstructor;
                maxCount: {
                    type: NumberConstructor;
                    default: number;
                };
                offset: {
                    type: import("vue").PropType<(string | number)[]>;
                };
                shape: {
                    type: import("vue").PropType<"bubble" | "circle" | "ribbon" | "ribbon-left" | "ribbon-right" | "square" | "triangle-left" | "triangle-right">;
                    default: "bubble" | "circle" | "ribbon" | "ribbon-left" | "ribbon-right" | "square" | "triangle-left" | "triangle-right";
                    validator(val: "bubble" | "circle" | "ribbon" | "ribbon-left" | "ribbon-right" | "square" | "triangle-left" | "triangle-right"): boolean;
                };
                showZero: BooleanConstructor;
                size: {
                    type: import("vue").PropType<"large" | "medium">;
                    default: "large" | "medium";
                    validator(val: "large" | "medium"): boolean;
                };
            }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
                color: string;
                count: string | number | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue);
                dot: boolean;
                maxCount: number;
                shape: "bubble" | "circle" | "ribbon" | "ribbon-left" | "ribbon-right" | "square" | "triangle-left" | "triangle-right";
                showZero: boolean;
                size: "large" | "medium";
            }>;
            __isFragment?: never;
            __isTeleport?: never;
            __isSuspense?: never;
        } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
            color: {
                type: StringConstructor;
                default: string;
            };
            content: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue)>;
            };
            count: {
                type: import("vue").PropType<string | number | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue)>;
                default: string | number | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue);
            };
            dot: BooleanConstructor;
            maxCount: {
                type: NumberConstructor;
                default: number;
            };
            offset: {
                type: import("vue").PropType<(string | number)[]>;
            };
            shape: {
                type: import("vue").PropType<"bubble" | "circle" | "ribbon" | "ribbon-left" | "ribbon-right" | "square" | "triangle-left" | "triangle-right">;
                default: "bubble" | "circle" | "ribbon" | "ribbon-left" | "ribbon-right" | "square" | "triangle-left" | "triangle-right";
                validator(val: "bubble" | "circle" | "ribbon" | "ribbon-left" | "ribbon-right" | "square" | "triangle-left" | "triangle-right"): boolean;
            };
            showZero: BooleanConstructor;
            size: {
                type: import("vue").PropType<"large" | "medium">;
                default: "large" | "medium";
                validator(val: "large" | "medium"): boolean;
            };
        }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
            color: string;
            count: string | number | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue);
            dot: boolean;
            maxCount: number;
            shape: "bubble" | "circle" | "ribbon" | "ribbon-left" | "ribbon-right" | "square" | "triangle-left" | "triangle-right";
            showZero: boolean;
            size: "large" | "medium";
        }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin;
        TViewListIcon: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
            size: {
                type: StringConstructor;
            };
            onClick: {
                type: import("vue").PropType<(context: {
                    e: MouseEvent;
                }) => void>;
            };
            fillColor: {
                type: import("vue").PropType<string | string[]>;
            };
            strokeColor: {
                type: import("vue").PropType<string | string[]>;
            };
            strokeWidth: {
                type: import("vue").PropType<number>;
            };
        }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
            size: {
                type: StringConstructor;
            };
            onClick: {
                type: import("vue").PropType<(context: {
                    e: MouseEvent;
                }) => void>;
            };
            fillColor: {
                type: import("vue").PropType<string | string[]>;
            };
            strokeColor: {
                type: import("vue").PropType<string | string[]>;
            };
            strokeWidth: {
                type: import("vue").PropType<number>;
            };
        }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    } & import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        badgeProps: {
            type: import("vue").PropType<import("@/badge").TdBadgeProps>;
        };
        icon: {
            type: import("vue").PropType<(h: typeof import("vue").h) => import("@/common").SlotReturnValue>;
        };
        subTabBar: {
            type: import("vue").PropType<import("@/components").SubTabBarItem[]>;
        };
        value: {
            type: import("vue").PropType<string | number>;
        };
    }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {}>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    badgeProps: {
        type: import("vue").PropType<import("@/badge").TdBadgeProps>;
    };
    icon: {
        type: import("vue").PropType<(h: typeof import("vue").h) => import("@/common").SlotReturnValue>;
    };
    subTabBar: {
        type: import("vue").PropType<import("@/components").SubTabBarItem[]>;
    };
    value: {
        type: import("vue").PropType<string | number>;
    };
}>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {}, {}, string, {}, {
    TBadge: {
        new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
            color: {
                type: StringConstructor;
                default: string;
            };
            content: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue)>;
            };
            count: {
                type: import("vue").PropType<string | number | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue)>;
                default: string | number | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue);
            };
            dot: BooleanConstructor;
            maxCount: {
                type: NumberConstructor;
                default: number;
            };
            offset: {
                type: import("vue").PropType<(string | number)[]>;
            };
            shape: {
                type: import("vue").PropType<"bubble" | "circle" | "ribbon" | "ribbon-left" | "ribbon-right" | "square" | "triangle-left" | "triangle-right">;
                default: "bubble" | "circle" | "ribbon" | "ribbon-left" | "ribbon-right" | "square" | "triangle-left" | "triangle-right";
                validator(val: "bubble" | "circle" | "ribbon" | "ribbon-left" | "ribbon-right" | "square" | "triangle-left" | "triangle-right"): boolean;
            };
            showZero: BooleanConstructor;
            size: {
                type: import("vue").PropType<"large" | "medium">;
                default: "large" | "medium";
                validator(val: "large" | "medium"): boolean;
            };
        }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {
            color: string;
            count: string | number | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue);
            dot: boolean;
            maxCount: number;
            shape: "bubble" | "circle" | "ribbon" | "ribbon-left" | "ribbon-right" | "square" | "triangle-left" | "triangle-right";
            showZero: boolean;
            size: "large" | "medium";
        }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly<import("vue").ExtractPropTypes<{
            color: {
                type: StringConstructor;
                default: string;
            };
            content: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue)>;
            };
            count: {
                type: import("vue").PropType<string | number | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue)>;
                default: string | number | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue);
            };
            dot: BooleanConstructor;
            maxCount: {
                type: NumberConstructor;
                default: number;
            };
            offset: {
                type: import("vue").PropType<(string | number)[]>;
            };
            shape: {
                type: import("vue").PropType<"bubble" | "circle" | "ribbon" | "ribbon-left" | "ribbon-right" | "square" | "triangle-left" | "triangle-right">;
                default: "bubble" | "circle" | "ribbon" | "ribbon-left" | "ribbon-right" | "square" | "triangle-left" | "triangle-right";
                validator(val: "bubble" | "circle" | "ribbon" | "ribbon-left" | "ribbon-right" | "square" | "triangle-left" | "triangle-right"): boolean;
            };
            showZero: BooleanConstructor;
            size: {
                type: import("vue").PropType<"large" | "medium">;
                default: "large" | "medium";
                validator(val: "large" | "medium"): boolean;
            };
        }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
            color: string;
            count: string | number | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue);
            dot: boolean;
            maxCount: number;
            shape: "bubble" | "circle" | "ribbon" | "ribbon-left" | "ribbon-right" | "square" | "triangle-left" | "triangle-right";
            showZero: boolean;
            size: "large" | "medium";
        }>;
        __isFragment?: never;
        __isTeleport?: never;
        __isSuspense?: never;
    } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
        color: {
            type: StringConstructor;
            default: string;
        };
        content: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue)>;
        };
        count: {
            type: import("vue").PropType<string | number | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue)>;
            default: string | number | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue);
        };
        dot: BooleanConstructor;
        maxCount: {
            type: NumberConstructor;
            default: number;
        };
        offset: {
            type: import("vue").PropType<(string | number)[]>;
        };
        shape: {
            type: import("vue").PropType<"bubble" | "circle" | "ribbon" | "ribbon-left" | "ribbon-right" | "square" | "triangle-left" | "triangle-right">;
            default: "bubble" | "circle" | "ribbon" | "ribbon-left" | "ribbon-right" | "square" | "triangle-left" | "triangle-right";
            validator(val: "bubble" | "circle" | "ribbon" | "ribbon-left" | "ribbon-right" | "square" | "triangle-left" | "triangle-right"): boolean;
        };
        showZero: BooleanConstructor;
        size: {
            type: import("vue").PropType<"large" | "medium">;
            default: "large" | "medium";
            validator(val: "large" | "medium"): boolean;
        };
    }>> & Readonly<{}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
        color: string;
        count: string | number | ((h: typeof import("vue").h) => import("@/common").SlotReturnValue);
        dot: boolean;
        maxCount: number;
        shape: "bubble" | "circle" | "ribbon" | "ribbon-left" | "ribbon-right" | "square" | "triangle-left" | "triangle-right";
        showZero: boolean;
        size: "large" | "medium";
    }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin;
    TViewListIcon: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        size: {
            type: StringConstructor;
        };
        onClick: {
            type: import("vue").PropType<(context: {
                e: MouseEvent;
            }) => void>;
        };
        fillColor: {
            type: import("vue").PropType<string | string[]>;
        };
        strokeColor: {
            type: import("vue").PropType<string | string[]>;
        };
        strokeWidth: {
            type: import("vue").PropType<number>;
        };
    }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
        [key: string]: any;
    }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        size: {
            type: StringConstructor;
        };
        onClick: {
            type: import("vue").PropType<(context: {
                e: MouseEvent;
            }) => void>;
        };
        fillColor: {
            type: import("vue").PropType<string | string[]>;
        };
        strokeColor: {
            type: import("vue").PropType<string | string[]>;
        };
        strokeWidth: {
            type: import("vue").PropType<number>;
        };
    }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
} & import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin;
export default TabBar;
