import { LitElement, type TemplateResult } from 'lit';
declare global {
    interface HTMLElementTagNameMap {
        "mdc-navigation-rail": NavigationRail;
    }
}
declare const NavigationRail_base: import("../../utils/behaviors/mixin").MixinReturn<typeof LitElement, import("../../utils/behaviors/connected-promise-resolve").IConnectedPromiseResolve>;
/**
 * @todo
 * - docked / floating
 * - position
 * - scrollable
 *
 * expanded
 * - false (default)
 * - true
 *
 * position:
 * - top (default)
 * - middle
 *
 * xr:
 * - false (default)
 * - true
 *
 * open:
 * - false (default)
 * - true
 *
 * When xr is enabled, only vertical is valid:
 * <mdc-navigation-bar open xr direction="vertical"></mdc-navigation-bar>
 *
 * @version
 * Material Design 3 - Expressive
 *
 * @link
 * https://www.figma.com/design/4GM7ohCF2Qtjzs7Fra6jlp/Material-3-Design-Kit--Community-?node-id=58016-36879&t=KiHBf0L3gSBbEFIZ-0
 */
export declare class NavigationRail extends NavigationRail_base {
    static styles: import("lit").CSSResult;
    expanded: boolean;
    position: 'top' | 'middle' | 'bottom';
    xr: boolean;
    quick: boolean;
    get open(): boolean;
    set open(value: boolean);
    /**
     * @todo
     * - auto open/close
     * - auto change direction
     */
    private readonly dialog;
    private readonly container;
    private readonly content;
    private readonly tabs;
    protected hasInactiveMenu: boolean;
    protected hasActiveMenu: boolean;
    protected hasFab: boolean;
    protected hasContent: boolean;
    protected isOpen: boolean;
    protected isOpening: boolean;
    protected getRenderClasses(): {
        expanded: boolean;
        collapsed: boolean;
        xr: boolean;
        top: boolean;
        middle: boolean;
        'has-menu': boolean;
        'has-inactive-menu': boolean;
        'has-active-menu': boolean;
        'has-fab': boolean;
        'has-content': boolean;
    };
    protected render(): TemplateResult;
    protected renderContent(): TemplateResult<1>;
    protected renderFab(): TemplateResult<1>;
    protected renderMenu(): TemplateResult<1>;
    protected renderMenuInactiveIcon(): TemplateResult<1>;
    protected renderMenuActiveIcon(): TemplateResult<1>;
    protected cancelAnimations: AbortController | null;
    show(): Promise<void>;
    close(): Promise<void>;
    private animateDialog;
    protected updated(changedProperties: Map<string | number | symbol, unknown>): void;
    private updateSlottedChild;
    private handleExpanded;
    private handleCollapsed;
    protected handleInactiveMenuSlotChange(e: Event): void;
    protected handleActiveMenuSlotChange(e: Event): void;
    protected handleFabSlotChange(e: Event): void;
    protected handleContentSlotChange(e: Event): void;
}
export {};
//# sourceMappingURL=navigation-rail.d.ts.map