import type { PropType } from "vue";
type ActiveKeys = string | number | Array<string | number>;
type ActiveKey = string | number;
export interface IFormCollapse {
    activeKeys: ActiveKeys;
    hasActiveKey(key: ActiveKey): boolean;
    setActiveKeys(key: ActiveKeys): void;
    addActiveKey(key: ActiveKey): void;
    removeActiveKey(key: ActiveKey): void;
    toggleActiveKey(key: ActiveKey): void;
}
export interface IFormCollapseProps {
    formCollapse?: IFormCollapse;
    activeKey?: ActiveKey;
}
export declare const FormCollapseItem: import("vue").DefineComponent<{}, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
declare const composeFormCollapse: {
    new (...args: any[]): import("vue").CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{
        formCollapse: {
            type: PropType<IFormCollapse>;
        };
        activeKey: {
            type: (NumberConstructor | StringConstructor)[];
        };
    }>> & {
        onInput?: ((...args: any[]) => any) | undefined;
    }, () => any, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "input"[], import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
        formCollapse: {
            type: PropType<IFormCollapse>;
        };
        activeKey: {
            type: (NumberConstructor | StringConstructor)[];
        };
    }>> & {
        onInput?: ((...args: any[]) => any) | undefined;
    }, {}, true, {}, {}, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        formCollapse: {
            type: PropType<IFormCollapse>;
        };
        activeKey: {
            type: (NumberConstructor | StringConstructor)[];
        };
    }>> & {
        onInput?: ((...args: any[]) => any) | undefined;
    }, () => any, {}, {}, {}, {}>;
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    formCollapse: {
        type: PropType<IFormCollapse>;
    };
    activeKey: {
        type: (NumberConstructor | StringConstructor)[];
    };
}>> & {
    onInput?: ((...args: any[]) => any) | undefined;
}, () => any, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "input"[], "input", {}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
    Item: import("vue").DefineComponent<{}, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
    createFormCollapse: (defaultActiveKeys?: ActiveKeys) => {
        activeKeys: ActiveKeys | undefined;
        setActiveKeys(keys: ActiveKeys): void;
        hasActiveKey(key: ActiveKey): boolean;
        addActiveKey(key: ActiveKey): void;
        removeActiveKey(key: ActiveKey): void;
        toggleActiveKey(key: ActiveKey): void;
    };
};
export { composeFormCollapse as FormCollapse };
export default composeFormCollapse;
