import { IconType, IconFontColor } from './types';
import { SwitchOption } from './switch';
import { PropsWithChildren } from 'react';
import { ModalCloseButtonConfig } from './modal';
export type DrawerFooterProps = PropsWithChildren<{
    className?: string;
}>;
export interface DrawerProps {
    isOpen: boolean;
    onClose: () => void;
    title?: string;
    titleIcon?: IconType;
    titleIconDuotonePrimary?: IconFontColor;
    titleIconDuotoneSecondary?: IconFontColor;
    titleIconDuotoneOpacityPrimary?: number;
    titleIconDuotoneOpacitySecondary?: number;
    /** `xl` (800px) alineado a layouts anchos (p. ej. implementación campaña). */
    size?: 'sm' | 'md' | 'lg' | 'xl';
    children: React.ReactNode;
    /**
     * Botón de cerrar (X): tooltip opcional. Misma forma que `Modal` (`ModalCloseButtonConfig`).
     * Si `tooltip` es `true` y no pasas `tooltipPosition`, el tooltip se muestra a la **izquierda** del botón.
     */
    closeButton?: ModalCloseButtonConfig;
    showCloseButton?: boolean;
    disableEscapeClose?: boolean;
    disableOutsideTab?: boolean;
    position?: 'left' | 'right';
    /**
     * Superficie del panel: `default` (gris secundario) o `brand` (relleno brand en panel y Card).
     * En `brand`: sin borde bajo el header, sin `Card.Separator` antes del footer y `Card` interna con `bordered={false}`.
     */
    surface?: 'default' | 'brand';
    className?: string;
    scrollable?: boolean;
    cancelButtonText?: string;
    successButtonText?: string;
    onCancel?: () => void;
    onSuccess?: () => void;
    showCancelButton?: boolean;
    showSuccessButton?: boolean;
    closeAtSuccess?: boolean;
    closeAtCancel?: boolean;
    disabledSuccessButton?: boolean;
    disabledCancelButton?: boolean;
    /** Ancho máximo personalizado del drawer (ej: '500px', '50%', '30rem'). Por defecto usa el size. */
    maxWidth?: string;
    /** Si es true, el drawer ocupará todo el ancho disponible sin max-width */
    fullWidth?: boolean;
    /** Si es true, el drawer se adaptará al ancho de su contenido interno */
    fitContent?: boolean;
    /** Opciones de tabs para mostrar en el header del drawer */
    tabs?: SwitchOption[];
    /** Valor por defecto del tab seleccionado */
    defaultValueTab?: string;
    /** Callback cuando cambia el tab seleccionado */
    onChangeTab?: (value: string) => void;
    /** Tab actualmente seleccionado (controlado) */
    currentTab?: string;
    /** Si es true, los tabs se muestran centrados entre el título y el botón de cerrar. Si es false, se muestran debajo del título en una fila completa. Default: false */
    tabsOverHeader?: boolean;
}
//# sourceMappingURL=drawer.d.ts.map