import { DrawerConfig } from './types';
export type { DrawerConfig, DrawerSide, DrawerSize } from './types';
export declare class Drawer {
    private readonly side;
    private readonly size;
    private readonly title;
    private readonly showOverlay;
    private readonly closeOnEscape;
    private readonly closeOnOverlay;
    private readonly className;
    private readonly onOpenCallback;
    private readonly onCloseCallback;
    private readonly drawerId;
    private overlayEl;
    private drawerEl;
    private contentEl;
    private opened;
    private destroyed;
    private previouslyFocused;
    /** Bound event handlers for cleanup */
    private readonly handleKeyDown;
    constructor(config: DrawerConfig);
    /** Check whether the drawer is currently open */
    isOpen(): boolean;
    /** Open the drawer with the given content */
    open(content?: HTMLElement | string): void;
    /** Close the drawer */
    close(): void;
    /** Toggle the drawer open/closed */
    toggle(content?: HTMLElement | string): void;
    /** Update the drawer content while open */
    setContent(content: HTMLElement | string): void;
    /** Remove all listeners and clean up */
    destroy(): void;
    /** Create the drawer DOM elements */
    private createDrawerElement;
    /** Handle keyboard events for escape and focus trapping */
    private onKeyDown;
}
//# sourceMappingURL=index.d.ts.map