import { MXBaseComponent, AXClickEvent } from '@acorex/cdk/common';
import * as _angular_core from '@angular/core';
import * as i1 from '@acorex/cdk/drawer';
import { AXDrawerLocation, AXDrawerMode } from '@acorex/cdk/drawer';

/**
 * A container component that organizes and positions drawer components.
 * @category component
 */
declare class AXDrawerContainerComponent extends MXBaseComponent {
    #private;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXDrawerContainerComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXDrawerContainerComponent, "ax-drawer-container", never, {}, {}, never, ["ax-drawer", "ax-content"], true, [{ directive: typeof i1.AXDrawerContainerDirective; inputs: {}; outputs: {}; }]>;
}

/**
 * A component that represents a drawer with header and content sections.
 *
 * @category Components
 */
declare class AXDrawerComponent extends MXBaseComponent {
    #private;
    readonly location: _angular_core.InputSignal<AXDrawerLocation>;
    readonly showBackdrop: _angular_core.InputSignal<boolean>;
    readonly mode: _angular_core.InputSignal<AXDrawerMode>;
    readonly transition: _angular_core.InputSignal<number>;
    readonly closeOnBackdropClick: _angular_core.InputSignal<boolean>;
    readonly backdropClass: _angular_core.InputSignal<string>;
    readonly collapsed: _angular_core.InputSignal<boolean>;
    readonly singleOpenMode: _angular_core.InputSignal<boolean>;
    onBackdropClick: _angular_core.OutputEmitterRef<AXClickEvent>;
    collapsedStateChanged: _angular_core.OutputEmitterRef<boolean>;
    private drawerItem;
    /**
     * Toggles the drawer state between open and closed.
     *
     * @returns void - No return value. The drawer state is toggled.
     */
    toggle(): void;
    /**
     * Closes the drawer.
     *
     * @returns void - No return value. The drawer is collapsed.
     */
    close(): void;
    /**
     * Opens the drawer.
     *
     * @returns void - No return value. The drawer is expanded.
     */
    open(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXDrawerComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXDrawerComponent, "ax-drawer", never, { "location": { "alias": "location"; "required": false; "isSignal": true; }; "showBackdrop": { "alias": "showBackdrop"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "transition": { "alias": "transition"; "required": false; "isSignal": true; }; "closeOnBackdropClick": { "alias": "closeOnBackdropClick"; "required": false; "isSignal": true; }; "backdropClass": { "alias": "backdropClass"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "singleOpenMode": { "alias": "singleOpenMode"; "required": false; "isSignal": true; }; }, { "onBackdropClick": "onBackdropClick"; "collapsedStateChanged": "collapsedStateChanged"; }, never, ["ax-header", "ax-content"], true, [{ directive: typeof i1.AXDrawerItemDirective; inputs: {}; outputs: {}; }]>;
}

declare class AXDrawerModule {
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXDrawerModule, never>;
    static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXDrawerModule, never, [typeof AXDrawerComponent, typeof AXDrawerContainerComponent], [typeof AXDrawerComponent, typeof AXDrawerContainerComponent]>;
    static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXDrawerModule>;
}

export { AXDrawerComponent, AXDrawerContainerComponent, AXDrawerModule };
