import { MatDrawerMode, MatSidenav } from '@angular/material/sidenav';
import { AbstractTransitionWatcherDirective, ClickableAnchorLinkTree } from '@dereekb/dbx-core';
import { type Maybe } from '@dereekb/util';
import { SideNavDisplayMode } from './sidenav';
import { Observable } from 'rxjs';
import * as i0 from "@angular/core";
export interface DbxSidenavSidebarState {
    readonly mode: SideNavDisplayMode;
    readonly drawer: MatDrawerMode;
    readonly open?: boolean;
}
/**
 * Navigation component that sits at the side of an app.
 */
export declare class DbxSidenavComponent extends AbstractTransitionWatcherDirective {
    private readonly _screenMediaService;
    readonly sidenav: import("@angular/core").Signal<MatSidenav>;
    readonly anchors: import("@angular/core").InputSignal<Maybe<ClickableAnchorLinkTree[]>>;
    readonly mode$: Observable<SideNavDisplayMode>;
    readonly modeSignal: import("@angular/core").Signal<SideNavDisplayMode | undefined>;
    readonly disableBackdropSignal: import("@angular/core").Signal<boolean>;
    readonly sizeCssClassSignal: import("@angular/core").Signal<string>;
    readonly stateSignal: import("@angular/core").Signal<{
        mode: SideNavDisplayMode | undefined;
        drawer: "over" | "side";
        open: boolean;
    }>;
    readonly drawerSignal: import("@angular/core").Signal<"over" | "side">;
    protected readonly _stateSignalToggleEffect: import("@angular/core").EffectRef;
    protected updateForSuccessfulTransition(): void;
    closeNav(): void;
    toggleNav(open?: boolean): void;
    private _toggleNav;
    static ɵfac: i0.ɵɵFactoryDeclaration<DbxSidenavComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DbxSidenavComponent, "dbx-sidenav", ["sidenav"], { "anchors": { "alias": "anchors"; "required": false; "isSignal": true; }; }, {}, never, ["[top]", "[bottom]", "*"], true, never>;
}
