import { BotConfig, AppState, AsyncInitializable, Disposable } from './types';
export declare class TomiBot implements AsyncInitializable, Disposable {
    private _state;
    private _logger;
    private _isInitialized;
    private _isRunning;
    private _menuComponent;
    private _statusComponent;
    constructor();
    initialize(): Promise<void>;
    isInitialized(): boolean;
    dispose(): Promise<void>;
    start(): Promise<void>;
    stop(): Promise<void>;
    private showWelcomeScreen;
    private checkAndConfigureAPIKey;
    private showMainMenu;
    private handleMenuChoice;
    private createTitle;
    private promptForAPIKeyConfiguration;
    private configureAPIKey;
    private runChatLoop;
    private startChatSession;
    private showSystemStatus;
    private showConfigurationMenu;
    private showHelp;
    private exitApplication;
    get state(): Readonly<AppState>;
    get isRunning(): boolean;
    get config(): BotConfig;
}
//# sourceMappingURL=bot.d.ts.map