import type { IElementRef, OnCreate, OnDestroy } from '@melodicdev/core';
type DrawerSide = 'left' | 'right';
type DrawerSize = 'sm' | 'md' | 'lg' | 'xl';
/**
 * ml-drawer - Slide-out panel overlay
 *
 * @example
 * ```html
 * <ml-drawer side="right">
 *   <div slot="drawer-header">Settings</div>
 *   <p>Drawer content here</p>
 *   <div slot="drawer-footer">
 *     <ml-button>Save</ml-button>
 *   </div>
 * </ml-drawer>
 * ```
 *
 * @slot drawer-header - Header content (title)
 * @slot default - Body content
 * @slot drawer-footer - Footer content (actions)
 * @fires ml:open - Emitted when opened
 * @fires ml:close - Emitted when closed
 */
export declare class DrawerComponent implements IElementRef, OnCreate, OnDestroy {
    elementRef: HTMLElement;
    /** Which side the drawer slides from */
    side: DrawerSide;
    /** Width preset */
    size: DrawerSize;
    /** Show close button in header */
    showClose: boolean;
    private _dialogEl;
    private _panelEl;
    private get _positionProp();
    private cancelAnimations;
    onCreate(): void;
    onDestroy(): void;
    /** Open the drawer */
    open(): void;
    /** Close the drawer */
    close: () => void;
    private readonly handleBackdropClick;
    private readonly handleDialogCancel;
}
export {};
//# sourceMappingURL=drawer.component.d.ts.map