export interface NavigationState { currentPath: string[]; history: string[][]; canGoBack: boolean; } export interface MenuContext { title: string; level: number; parent?: string; } export declare class NavigationStack { private stack; private maxStackSize; push(path: string[]): void; pop(): string[] | undefined; peek(): string[] | undefined; canGoBack(): boolean; clear(): void; size(): number; } export declare class MenuNavigator { private navigationStack; private currentPath; private shouldExit; constructor(); private setupGracefulExit; private setupEscKeyListener; enterMenu(menuName: string, _context?: MenuContext): void; exitMenu(): string | undefined; getCurrentPath(): string[]; getBreadcrumb(): string; canGoBack(): boolean; getBackButtonText(): string; shouldShowExit(): boolean; resetNavigation(): void; handleBackAction(): Promise; pauseForUser(message?: string): Promise; displayBreadcrumb(): void; static readonly BACK_CHOICE: { name: string; value: string; }; static readonly CANCEL_CHOICE: { name: string; value: string; }; static readonly MAIN_MENU_CHOICE: { name: string; value: string; }; static createBackChoice(customText?: string): { name: string; value: string; }; static createCancelChoice(customText?: string): { name: string; value: string; }; static createMainMenuChoice(): { name: string; value: string; }; } export declare const globalNavigator: MenuNavigator; export declare class NavigationUtils { static addNavigationChoices(choices: any[], navigator: MenuNavigator): any[]; static enhancedSelect(config: { message: string; choices: Array<{ name: string; value: T; }>; allowEscBack?: boolean; pageSize?: number; }): Promise; static handleNavigationAction(action: string, navigator: MenuNavigator, callback?: () => Promise): Promise; static clearScreenWithWelcome(showWelcome: () => void): void; static confirmAction(message: string, defaultValue?: boolean): Promise; static displayMenuSeparator(title: string): void; } export interface MenuConfig { title: string; showBreadcrumb?: boolean; showSeparators?: boolean; pageSize?: number; } export declare class MenuBuilder { private choices; private config; constructor(config: MenuConfig); addChoice(name: string, value: any, icon?: string): MenuBuilder; addSeparator(title: string): MenuBuilder; addBackChoice(navigator: MenuNavigator): MenuBuilder; addCancelChoice(): MenuBuilder; addMainMenuChoice(): MenuBuilder; getChoices(): any[]; getConfig(): MenuConfig; } //# sourceMappingURL=navigation.d.ts.map