/** The type of accordion - single or multiple open items allowed. */
export type UiAccordionType = 'single' | 'multiple';
/** Reading direction for the accordion. */
export type UiAccordionDir = 'ltr' | 'rtl';
/** Orientation of the accordion. */
export type UiAccordionOrientation = 'horizontal' | 'vertical';
/**
 * Props for the UiAccordion root component (single mode).
 */
export type UiAccordionSingleProps = {
    /** Accordion type - 'single' allows only one item open at a time. */
    type: 'single';
    /** The controlled value of the expanded item when using `v-model` for two-way binding. */
    modelValue?: string;
    /** The value of the item that should be expanded when initially rendered (uncontrolled). */
    defaultValue?: string;
    /** Whether the accordion can be collapsed (all items closed). Only applicable when type is 'single'. */
    collapsible?: boolean;
    /** Whether the accordion is disabled. */
    disabled?: boolean;
    /** The reading direction. */
    dir?: UiAccordionDir;
    /** The orientation of the accordion. */
    orientation?: UiAccordionOrientation;
};
/**
 * Props for the UiAccordion root component (multiple mode).
 */
export type UiAccordionMultipleProps = {
    /** Accordion type - 'multiple' allows multiple items open at once. */
    type: 'multiple';
    /** The controlled value of the expanded items when using `v-model` for two-way binding. */
    modelValue?: string[];
    /** The values of the items that should be expanded when initially rendered (uncontrolled). */
    defaultValue?: string[];
    /** Whether the accordion is disabled. */
    disabled?: boolean;
    /** The reading direction. */
    dir?: UiAccordionDir;
    /** The orientation of the accordion. */
    orientation?: UiAccordionOrientation;
};
/**
 * Collapsible sections for organizing content. Use for FAQs,
 * settings panels, or any content that benefits from show/hide.
 * @category Navigation
 * @useCases FAQ section, settings panel, collapsible content, expandable list
 * @keywords accordion, collapse, expand, faq, panel, section, toggle
 * @related UiTabs
 */
export type UiAccordionProps = UiAccordionSingleProps | UiAccordionMultipleProps;
/**
 * Emits for the UiAccordion root component.
 */
export type UiAccordionEmits = {
    /**
     * Emitted when the expanded item(s) change.
     * - Single mode: `string` (item value) or `undefined` (when collapsed)
     * - Multiple mode: `string[]` (array of item values)
     */
    'update:modelValue': [value: string | string[] | undefined];
};
/**
 * Props for the UiAccordionItem component.
 */
export type UiAccordionItemProps = {
    /** Unique value that identifies the accordion item (required). */
    value: string;
    /** Whether the accordion item is disabled. */
    disabled?: boolean;
};
/**
 * Props for the UiAccordionTrigger component.
 */
export type UiAccordionTriggerProps = {
    /** Whether the trigger element is an `asChild` element. */
    asChild?: boolean;
};
/**
 * Props for the UiAccordionContent component.
 */
export type UiAccordionContentProps = {
    /** Force mounting when more control is needed (useful for animations). */
    forceMount?: boolean;
};
