import { ReactNode, FC } from 'react';
export interface DrawerStyles {
    /** Theme variant: 'light' (default), 'dark', or 'sacred' (sacred adds the animated glyph canvas). */
    theme?: 'light' | 'dark' | 'sacred';
    /** Panel background when variant is 'permanent'. */
    permanentBackground?: string;
    /** Panel box shadow when variant is 'permanent'. */
    permanentBoxShadow?: string;
    /** Panel backdrop-filter when variant is 'permanent'. */
    permanentBackdropFilter?: string;
    /** Panel background-image when variant is 'permanent'. */
    permanentBackgroundImage?: string;
    /** Panel background for non-permanent variants. */
    temporaryBackground?: string;
    /** Panel box shadow for non-permanent variants. */
    temporaryBoxShadow?: string;
    /** Panel backdrop-filter for non-permanent variants. */
    temporaryBackdropFilter?: string;
    /** Panel background-image for non-permanent variants. */
    temporaryBackgroundImage?: string;
    /** Backdrop background color (temporary variant only). */
    backdropBackgroundColor?: string;
    /** Backdrop backdrop-filter (temporary variant only). */
    backdropBackdropFilter?: string;
    /** Panel width (applies to both vertical and horizontal anchors). */
    width?: string;
    /** Panel height (applies to both vertical and horizontal anchors). */
    height?: string;
    /** Panel CSS `top` offset; numbers are treated as px. */
    top?: string | number;
    /** Panel padding. */
    padding?: string;
    /** Panel margin. */
    margin?: string;
    /** Panel z-index. */
    zIndex?: number;
    /** Backdrop z-index. */
    backdropZIndex?: number;
    /** Replaces the slide transition with `transform <duration> <easing>`. */
    transitionDuration?: string;
    /** Easing used with transitionDuration (default ease-in-out); ignored without it. */
    transitionEasing?: string;
    /** Dims the panel to 50% opacity and disables pointer events. */
    disabled?: boolean;
    /** @deprecated No-op since the CSS-module migration — scheduled for removal. */
    outline?: boolean;
    /** Panel max-width. */
    maxWidth?: string;
    /** Panel min-width. */
    minWidth?: string;
    /** Panel max-height. */
    maxHeight?: string;
    /** Panel min-height. */
    minHeight?: string;
    /** Forces the drawer to the left edge, overriding the `anchor` prop. */
    forceLeft?: boolean;
    /** Forces the drawer to the right edge, overriding the `anchor` prop (forceLeft wins if both set). */
    forceRight?: boolean;
}
export interface DrawerProps {
    /** Whether the drawer is open */
    open?: boolean;
    /** Callback fired when the drawer requests to be closed */
    onClose?: () => void;
    /** Which side the drawer opens from */
    anchor?: 'left' | 'right' | 'top' | 'bottom';
    /** The variant of the drawer */
    variant?: 'permanent' | 'persistent' | 'temporary';
    /** Drawer content */
    children?: ReactNode;
    /** Component styling */
    styles?: DrawerStyles;
    /** Additional props */
    [key: string]: any;
}
declare const Drawer: FC<DrawerProps>;
export default Drawer;
//# sourceMappingURL=index.d.ts.map