import { type ExtractPublicPropTypes, type PropType } from 'vue';
import { type ThemeComponent } from '../../composables/useTheme';
declare const accordionItemAlign: readonly ["left", "right"];
declare const accordionItemProps: {
    tag: {
        type: StringConstructor;
        default: string;
    };
    disabled: BooleanConstructor;
    expanded: BooleanConstructor;
    showIcon: {
        type: BooleanConstructor;
        default: boolean;
    };
    icon: StringConstructor;
    iconAlign: {
        type: PropType<"left" | "right">;
        default: string;
    };
};
export type AccordionItemAlign = typeof accordionItemAlign[number];
export type AccordionItemProps = ExtractPublicPropTypes<typeof accordionItemProps>;
type InternalClasses = 'wrapper' | 'icon' | 'content';
type InternalData = {
    collapsed: boolean;
    isInsideAccordion: boolean;
};
export interface AccordionItemTheme extends ThemeComponent<AccordionItemProps, InternalClasses, InternalData> {
}
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    tag: {
        type: StringConstructor;
        default: string;
    };
    disabled: BooleanConstructor;
    expanded: BooleanConstructor;
    showIcon: {
        type: BooleanConstructor;
        default: boolean;
    };
    icon: StringConstructor;
    iconAlign: {
        type: PropType<"left" | "right">;
        default: string;
    };
}>, {
    toggle: () => void;
    open: (anim?: boolean) => void;
    close: (anim?: boolean) => void;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "expand")[], "change" | "expand", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    tag: {
        type: StringConstructor;
        default: string;
    };
    disabled: BooleanConstructor;
    expanded: BooleanConstructor;
    showIcon: {
        type: BooleanConstructor;
        default: boolean;
    };
    icon: StringConstructor;
    iconAlign: {
        type: PropType<"left" | "right">;
        default: string;
    };
}>> & Readonly<{
    onChange?: ((...args: any[]) => any) | undefined;
    onExpand?: ((...args: any[]) => any) | undefined;
}>, {
    disabled: boolean;
    tag: string;
    expanded: boolean;
    showIcon: boolean;
    iconAlign: "left" | "right";
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
    default?(_: {
        expand: (anim?: boolean) => void;
        collapsed: boolean;
    }): any;
    summary?(_: {
        expand: (anim?: boolean) => void;
        collapsed: boolean;
    }): any;
    content?(_: {
        expand: (anim?: boolean) => void;
        collapsed: boolean;
    }): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
