import { type ParsedCommand } from '../commands/parser.js'; import { type EffortLevel } from '../commands/effort.js'; import { type SessionOrderMode } from '../store/chat-session.js'; import { type EffortSupportInfo } from './command-types.js'; export declare class CommandHandler { private static readonly FEISHU_MARKDOWN_CHUNK_LIMIT; private static readonly FEISHU_SESSION_CARD_ENTRY_LIMIT; private static readonly FEISHU_SESSION_CARD_TEXT_LIMIT; private splitFeishuMarkdown; private splitMarkdownBlocks; private splitSessionCardEntries; private replyFeishuMarkdown; private formatHelpMarkdown; isHelpWithQcEnabled(chatId: string): boolean; isSessionWithCtlEnabled(chatId: string): boolean; isSessionWithChangeEnabled(chatId: string): boolean; private getQcShortcuts; pushQcCard(chatId: string, chatType?: 'p2p' | 'group'): Promise; replyQcCard(messageId: string, chatId: string, chatType?: 'p2p' | 'group'): Promise; private formatSessionCtlOptionLabel; private getSessionLastModifiedTime; private resolveSessionLastActivityMap; private buildSessionCtlOptions; buildSessionControlCard(chatId: string, chatType?: 'p2p' | 'group', selectedSessionId?: string): Promise; pushSessionControlCard(chatId: string, chatType?: 'p2p' | 'group', selectedSessionId?: string): Promise; replySessionControlCard(messageId: string, chatId: string, chatType?: 'p2p' | 'group', selectedSessionId?: string): Promise; updateSessionControlCard(messageId: string, chatId: string, chatType?: 'p2p' | 'group', selectedSessionId?: string): Promise; replyHelpCard(messageId: string, chatId: string, chatType?: 'p2p' | 'group'): Promise; private replyProjectMarkdown; getSessionOrderMode(chatId: string): SessionOrderMode; private handleConfig; private parseProviderModel; private extractProviderId; private extractProviderModelIds; private extractEffortVariants; private extractProviderModels; private findProviderModel; private resolveModelFromProviderPayload; private getEffortSupportInfo; private formatModelLabel; private formatEffortList; reconcilePreferredEffort(chatId: string): Promise<{ clearedEffort?: EffortLevel; support: EffortSupportInfo; }>; private resolveCompactModel; private resolveShellAgent; private handleCompact; startCompactInBackground(chatId: string, triggerMessageId?: string): void; private buildSessionTitle; handle(command: ParsedCommand, context: { chatId: string; messageId: string; senderId: string; chatType: 'p2p' | 'group'; }): Promise; private handleRename; private handleCronCommand; private handleRestartCommand; private handleStatus; private handleNewSession; private handleProjectList; private handleProjectDefault; private handleProjectDefaultShow; handleSessionControlSubmit(chatId: string, messageId: string, userId: string, chatType: 'p2p' | 'group', selectedSessionId: string, sessionName?: string): Promise; switchSessionFromCard(chatId: string, messageId: string, userId: string, targetSessionId: string, chatType: 'p2p' | 'group'): Promise; private handleSwitchSession; private handleListSessions; private handleModel; private handleModels; private handleEffort; private getVisibleAgents; private getAgentModePrefix; private getBuiltinAgentTranslation; private getAgentDisplayName; private getAgentDisplayText; private resolveAgentByInput; private getCurrentRoleDisplay; private getRuntimeDefaultAgentName; private findAgentByNameInsensitive; private shouldHideDefaultRoleOption; private getDefaultRoleDisplay; private getRoleAgentMap; private handleAgent; private buildPanelCard; private buildCommandListText; private splitLongText; private handleCommandsCard; pushPanelCard(chatId: string, chatType?: 'p2p' | 'group'): Promise; private handlePanel; private handlePassthroughCommand; private formatOutput; private handleClearFreeSession; private handleSendFile; handleUndo(chatId: string, triggerMessageId?: string): Promise; } export declare const commandHandler: CommandHandler; //# sourceMappingURL=command.d.ts.map