import { Observable } from 'rxjs';
import { ScreenMediaWidthType } from '../../../screen/screen';
import { type Maybe } from '@dereekb/util';
import { ClickableAnchorLinkSegueRef, AbstractTransitionDirective, DbxButtonDisplay } from '@dereekb/dbx-core';
import { HorizontalConnectionPos } from '@angular/cdk/overlay';
import * as i0 from "@angular/core";
interface NavAnchorLink {
    readonly selected: boolean;
    readonly anchor: ClickableAnchorLinkSegueRef;
}
export type NavBarContentAlign = 'center' | 'left' | 'right';
export type NavbarMode = 'bar' | 'button' | 'icon';
export type NavbarButtonMode = 'menu' | 'rotate';
/**
 * Component that displays a navbar.
 */
export declare class DbxNavbarComponent extends AbstractTransitionDirective {
    private readonly _dbxScreenMediaService;
    private readonly _dbxRouterService;
    /**
     * Whether or not to show the dropwdown caret for a menu
     */
    readonly showMenuCaret: import("@angular/core").InputSignal<boolean>;
    readonly navAlign: import("@angular/core").InputSignal<HorizontalConnectionPos>;
    readonly icon: import("@angular/core").InputSignal<Maybe<string>>;
    readonly defaultIcon: import("@angular/core").InputSignal<Maybe<string>>;
    readonly defaultText: import("@angular/core").InputSignal<Maybe<string>>;
    readonly mode: import("@angular/core").InputSignal<Maybe<NavbarMode>>;
    readonly buttonMode: import("@angular/core").InputSignal<NavbarButtonMode>;
    readonly breakpoint: import("@angular/core").InputSignal<ScreenMediaWidthType>;
    readonly anchors: import("@angular/core").InputSignal<Maybe<ClickableAnchorLinkSegueRef[]>>;
    readonly isBreakpointActive$: Observable<boolean>;
    readonly mode$: Observable<"icon" | "button" | "bar">;
    readonly anchors$: Observable<NavAnchorLink[]>;
    readonly selectedAnchor$: Observable<Maybe<NavAnchorLink>>;
    readonly nextRotateAnchor$: Observable<Maybe<NavAnchorLink>>;
    readonly hasNoAnchors$: Observable<boolean>;
    readonly buttonNavAnchor$: Observable<Maybe<NavAnchorLink>>;
    readonly buttonDisplay$: Observable<DbxButtonDisplay>;
    readonly modeSignal: import("@angular/core").Signal<"icon" | "button" | "bar" | undefined>;
    readonly anchorsSignal: import("@angular/core").Signal<NavAnchorLink[] | undefined>;
    readonly buttonDisplaySignal: import("@angular/core").Signal<DbxButtonDisplay | undefined>;
    readonly hasNoAnchorsSignal: import("@angular/core").Signal<boolean | undefined>;
    readonly nextRotateAnchorSignal: import("@angular/core").Signal<Maybe<NavAnchorLink>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<DbxNavbarComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DbxNavbarComponent, "dbx-navbar", never, { "showMenuCaret": { "alias": "showMenuCaret"; "required": false; "isSignal": true; }; "navAlign": { "alias": "navAlign"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "defaultIcon": { "alias": "defaultIcon"; "required": false; "isSignal": true; }; "defaultText": { "alias": "defaultText"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "buttonMode": { "alias": "buttonMode"; "required": false; "isSignal": true; }; "breakpoint": { "alias": "breakpoint"; "required": false; "isSignal": true; }; "anchors": { "alias": "anchors"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
export {};
