import { ChatItem, MynahUIDataModel, QuickActionCommandGroup } from '@aws/mynah-ui';
import { ChatMessage } from '@aws/language-server-runtimes-types';
export type DefaultTabData = MynahUIDataModel;
export declare const ExportTabBarButtonId = "export";
export declare const McpServerTabButtonId = "mcp_init";
export declare const ShowLogsTabBarButtonId = "show_logs";
export declare class TabFactory {
    private defaultTabData;
    private quickActionCommands?;
    private bannerMessage?;
    private history;
    private export;
    private agenticMode;
    private mcp;
    private modelSelectionEnabled;
    private reroute;
    private codeReviewInChat;
    private showLogs;
    initialTabId: string;
    static generateUniqueId(): string;
    constructor(defaultTabData: DefaultTabData, quickActionCommands?: QuickActionCommandGroup[] | undefined, bannerMessage?: ChatMessage | undefined);
    createTab(disclaimerCardActive: boolean): MynahUIDataModel;
    getChatItems(needWelcomeMessages: boolean, pairProgrammingCardActive: boolean, chatMessages?: ChatMessage[]): ChatItem[];
    updateQuickActionCommands(quickActionCommands: QuickActionCommandGroup[]): void;
    enableHistory(): void;
    enableExport(): void;
    enableShowLogs(): void;
    enableAgenticMode(): void;
    enableMcp(): void;
    enableModelSelection(): void;
    enableReroute(): void;
    enableCodeReviewInChat(): void;
    isRerouteEnabled(): boolean;
    isCodeReviewInChatEnabled(): boolean;
    getDefaultTabData(): DefaultTabData;
    setInfoMessages(messages: ChatMessage[] | undefined): void;
    private getBannerMessage;
    private getRandomTip;
    private getTabBarButtons;
}
