import { AfterContentInit, ElementRef, EventEmitter, NgZone, OnDestroy } from '@angular/core';
import { KbqSidebarAnimationState } from './sidebar-animations';
import * as i0 from "@angular/core";
export declare enum SidebarPositions {
    Left = "left",
    Right = "right"
}
interface KbqSidebarParams {
    openedStateMinWidth: string;
    openedStateWidth: string;
    openedStateMaxWidth: string;
    closedStateWidth: string;
}
export declare class KbqSidebarOpened {
    minWidth: string;
    width: string;
    maxWidth: string;
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqSidebarOpened, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<KbqSidebarOpened, "[kbq-sidebar-opened]", ["kbqSidebarOpened"], { "minWidth": { "alias": "minWidth"; "required": false; }; "width": { "alias": "width"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; }, {}, never, never, false, never>;
}
export declare class KbqSidebarClosed {
    width: string;
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqSidebarClosed, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<KbqSidebarClosed, "[kbq-sidebar-closed]", ["kbqSidebarClosed"], { "width": { "alias": "width"; "required": false; }; }, {}, never, never, false, never>;
}
export declare class KbqSidebar implements OnDestroy, AfterContentInit {
    private ngZone;
    private elementRef;
    /**
     * @docs-private
     */
    protected readonly document: Document;
    private readonly renderer;
    private readonly changeDetectorRef;
    get opened(): boolean;
    set opened(value: boolean);
    private _opened;
    position: SidebarPositions;
    /**
     * @docs-private
     */
    params: KbqSidebarParams;
    readonly stateChanged: EventEmitter<boolean>;
    /**
     * @docs-private
     */
    openedContent: KbqSidebarOpened;
    /**
     * @docs-private
     */
    closedContent: KbqSidebarClosed;
    /**
     * @docs-private
     */
    get animationState(): KbqSidebarAnimationState;
    /**
     * @docs-private
     */
    internalState: boolean;
    private unbindKeydownListener;
    constructor(ngZone: NgZone, elementRef: ElementRef);
    ngAfterContentInit(): void;
    ngOnDestroy(): void;
    toggle(): void;
    /**
     * @docs-private
     */
    onAnimationStart(): void;
    /**
     * @docs-private
     */
    onAnimationDone(): void;
    private registerKeydownListener;
    private unRegisterKeydownListener;
    private handleKeydown;
    private saveWidth;
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqSidebar, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<KbqSidebar, "kbq-sidebar", ["kbqSidebar"], { "opened": { "alias": "opened"; "required": false; }; "position": { "alias": "position"; "required": false; }; }, { "stateChanged": "stateChanged"; }, ["openedContent", "closedContent"], ["[kbq-sidebar-opened]", "[kbq-sidebar-closed]"], false, never>;
}
export {};
