/**
 * @license
 * Copyright 2025 Sandlada & Kai Orion
 * SPDX-License-Identifier: MIT
 */
import { ENavigationDrawerState } from './navigation-state';
export declare const SNavigationDrawerController: unique symbol;
export interface INavigationDrawerControllerHost extends HTMLElement {
    [SNavigationDrawerController]: INavigationDrawerController;
}
export interface INavigationDrawerIndicatorControllerHost extends HTMLButtonElement {
}
export interface INavigationDrawerController {
    show: () => void;
    close: () => void;
    state: ENavigationDrawerState;
    indicatorElements: Array<INavigationDrawerIndicatorControllerHost>;
    activeIndicatorElement: INavigationDrawerIndicatorControllerHost | undefined;
    setActiveIndicatorByLabel: (label: string) => void;
    setActiveIndicatorByOrder: (order: number) => void;
    setActiveIndicatorByElement: (element: HTMLElement) => void;
}
export declare class NavigationDrawerController implements INavigationDrawerController {
    private _host;
    show: () => void;
    close: () => void;
    constructor(_host: INavigationDrawerControllerHost, show: () => void, close: () => void);
    get host(): INavigationDrawerControllerHost;
    get state(): ENavigationDrawerState;
    private get dialogElement();
    private get containerElement();
    private get scrollerElement();
    private get contentWrapperElement();
    private get contentElement();
    get indicatorElements(): Array<INavigationDrawerIndicatorControllerHost>;
    get activeIndicatorElement(): INavigationDrawerIndicatorControllerHost | undefined;
    setActiveIndicatorByLabel(label: string): void;
    setActiveIndicatorByOrder(order: number): void;
    setActiveIndicatorByElement(element: HTMLElement): void;
}
//# sourceMappingURL=navigation-drawer-controller.d.ts.map