import * as _angular_core from '@angular/core';
import { OnDestroy } from '@angular/core';

declare class Drawer implements OnDestroy {
    private static nextInstanceId;
    private readonly doc;
    private readonly host;
    private readonly renderer;
    private readonly transloco;
    private readonly drawerInstanceClass;
    private customMask;
    private removeMaskClickListener;
    private resizeAnimTimer;
    private readonly RESIZE_ANIM_CLASS;
    private readonly RESIZE_ANIM_DURATION_MS;
    visible: _angular_core.ModelSignal<boolean>;
    visibleChange: _angular_core.OutputEmitterRef<boolean>;
    onShow: _angular_core.OutputEmitterRef<boolean>;
    onHide: _angular_core.OutputEmitterRef<boolean>;
    position: _angular_core.InputSignal<"left" | "right" | "top" | "bottom">;
    fullScreen: _angular_core.InputSignal<boolean>;
    closeOnEscape: _angular_core.InputSignal<boolean>;
    blockScroll: _angular_core.InputSignal<boolean>;
    dismissible: _angular_core.InputSignal<boolean>;
    title: _angular_core.InputSignal<string>;
    subtitle: _angular_core.InputSignal<string>;
    loadingHeader: _angular_core.InputSignal<boolean>;
    styleClass: _angular_core.InputSignal<string>;
    transitionOptions: _angular_core.InputSignal<string>;
    appendTo: _angular_core.InputSignal<string | HTMLElement>;
    modal: _angular_core.InputSignal<boolean>;
    showMaximizeToggle: _angular_core.InputSignal<boolean>;
    maximizeTooltip: _angular_core.InputSignal<string>;
    restoreTooltip: _angular_core.InputSignal<string>;
    maximized: _angular_core.ModelSignal<boolean>;
    protected readonly canShowMaximizeToggle: _angular_core.Signal<boolean>;
    protected readonly resolvedMaximizeTooltip: _angular_core.Signal<string>;
    protected readonly resolvedRestoreTooltip: _angular_core.Signal<string>;
    protected readonly resolvedAppendTo: _angular_core.Signal<string | HTMLElement>;
    protected readonly resolvedStyleClass: _angular_core.Signal<string>;
    constructor();
    visibleChangeEvent(event: boolean): void;
    onClose(): void;
    toggleMaximized(): void;
    onShowEvent(): void;
    onHideEvent(): void;
    private applyMaximizedInlineStyles;
    ngOnDestroy(): void;
    private syncCustomMask;
    private updateCustomMaskAttributes;
    private resolveMaskParent;
    private getDrawerElement;
    private getMaskStyle;
    private getMaskDataP;
    private bindMaskClickListener;
    private destroyCustomMask;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<Drawer, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<Drawer, "mt-drawer", never, { "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "fullScreen": { "alias": "fullScreen"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "blockScroll": { "alias": "blockScroll"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "loadingHeader": { "alias": "loadingHeader"; "required": false; "isSignal": true; }; "styleClass": { "alias": "styleClass"; "required": false; "isSignal": true; }; "transitionOptions": { "alias": "transitionOptions"; "required": false; "isSignal": true; }; "appendTo": { "alias": "appendTo"; "required": false; "isSignal": true; }; "modal": { "alias": "modal"; "required": false; "isSignal": true; }; "showMaximizeToggle": { "alias": "showMaximizeToggle"; "required": false; "isSignal": true; }; "maximizeTooltip": { "alias": "maximizeTooltip"; "required": false; "isSignal": true; }; "restoreTooltip": { "alias": "restoreTooltip"; "required": false; "isSignal": true; }; "maximized": { "alias": "maximized"; "required": false; "isSignal": true; }; }, { "visible": "visibleChange"; "visibleChange": "visibleChange"; "onShow": "onShow"; "onHide": "onHide"; "maximized": "maximizedChange"; }, never, ["[content]", "[footer]"], true, never>;
}

export { Drawer };
