import { ReactNode } from 'react';
import { AccordionProps } from '@mantine/core';
export interface ArchbaseExpansionPanelItem {
    /** ID único do painel */
    id: string;
    /** Título do painel */
    title: string;
    /** Descrição opcional */
    description?: string;
    /** Ícone opcional */
    icon?: ReactNode;
    /** Badge opcional */
    badge?: string | number;
    /** Cor do badge */
    badgeColor?: string;
    /** Conteúdo do painel */
    content: ReactNode;
    /** Se o painel está desabilitado */
    disabled?: boolean;
}
export interface ArchbaseExpansionPanelProps extends Omit<AccordionProps<true>, 'children' | 'multiple' | 'value' | 'defaultValue' | 'onChange'> {
    /** Array de painéis */
    panels: ArchbaseExpansionPanelItem[];
    /** Permitir múltiplos painéis abertos */
    multiple?: boolean;
    /** Valor padrão (IDs dos painéis abertos) */
    defaultValue?: string | string[];
    /** Valor controlado */
    value?: string | string[] | null;
    /** Callback ao mudar */
    onChange?: (value: string | string[] | null) => void;
    /** Variante visual */
    variant?: 'default' | 'contained' | 'filled' | 'separated';
    /** Tamanho do chevron */
    chevronSize?: number;
    /** Posição do chevron */
    chevronPosition?: 'left' | 'right';
    /** Duração da transição em ms */
    transitionDuration?: number;
    /** Desabilitar todos os painéis */
    disabled?: boolean;
}
export declare function ArchbaseExpansionPanel({ panels, multiple, defaultValue, value, onChange, variant, chevronSize, chevronPosition, transitionDuration, disabled, ...mantineProps }: ArchbaseExpansionPanelProps): import("react/jsx-runtime").JSX.Element;
export interface ArchbaseExpansionPanelControlledProps extends Omit<ArchbaseExpansionPanelProps, 'value' | 'onChange' | 'defaultValue'> {
    /** IDs dos painéis abertos */
    openPanels: string[];
    /** Callback ao abrir/fechar painéis */
    onOpenPanelsChange: (panels: string[]) => void;
}
export declare function ArchbaseExpansionPanelControlled({ openPanels, onOpenPanelsChange, ...props }: ArchbaseExpansionPanelControlledProps): import("react/jsx-runtime").JSX.Element;
export interface ArchbaseExpansionPanelSingleProps extends Omit<ArchbaseExpansionPanelProps, 'multiple' | 'value' | 'onChange' | 'defaultValue'> {
    /** ID do painel aberto */
    openPanel?: string | null;
    /** Callback ao abrir/fechar */
    onOpenPanelChange?: (panel: string | null) => void;
    /** Painel aberto por padrão */
    defaultOpenPanel?: string;
}
export declare function ArchbaseExpansionPanelSingle({ openPanel, onOpenPanelChange, defaultOpenPanel, ...props }: ArchbaseExpansionPanelSingleProps): import("react/jsx-runtime").JSX.Element;
export default ArchbaseExpansionPanel;
