/** * @license * Copyright 2025 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import type { ApprovalMode, AuthType, EditorType } from '@aetherai/aether-core'; import type { SettingScope } from '../../config/settings.js'; import type { AlibabaStandardRegion } from '../../constants/alibabaStandardApiKey.js'; import type { CodingPlanRegion } from '../../constants/codingPlan.js'; import type { CommandMigrationNudgeResult } from '../CommandFormatMigrationNudge.js'; import type { FolderTrustChoice } from '../components/FolderTrustDialog.js'; import type { ArenaDialogType } from '../hooks/useArenaCommand.js'; import type { Key } from '../hooks/useKeypress.js'; import type { IdeIntegrationNudgeResult } from '../IdeIntegrationNudge.js'; import type { AuthState } from '../types.js'; export interface OpenAICredentials { apiKey?: string; baseUrl?: string; model?: string; providerId?: string; } export interface UIActions { openThemeDialog: () => void; openEditorDialog: () => void; handleThemeSelect: (themeName: string | undefined, scope: SettingScope) => void; handleThemeHighlight: (themeName: string | undefined) => void; handleApprovalModeSelect: (mode: ApprovalMode | undefined, scope: SettingScope) => void; handleAuthSelect: (authType: AuthType | undefined, credentials?: OpenAICredentials) => Promise; handleCodingPlanSubmit: (apiKey: string, region?: CodingPlanRegion) => Promise; handleAlibabaStandardSubmit: (apiKey: string, region: AlibabaStandardRegion, modelIdsInput: string) => Promise; setAuthState: (state: AuthState) => void; onAuthError: (error: string | null) => void; cancelAuthentication: () => void; handleEditorSelect: (editorType: EditorType | undefined, scope: SettingScope) => void; exitEditorDialog: () => void; closeSettingsDialog: () => void; closeModelDialog: () => void; openArenaDialog: (type: Exclude) => void; closeArenaDialog: () => void; handleArenaModelsSelected?: (models: string[]) => void; dismissCodingPlanUpdate: () => void; closeTrustDialog: () => void; closePermissionsDialog: () => void; setShellModeActive: (value: boolean) => void; vimHandleInput: (key: Key) => boolean; handleIdePromptComplete: (result: IdeIntegrationNudgeResult) => void; handleCommandMigrationComplete: (result: CommandMigrationNudgeResult) => void; handleFolderTrustSelect: (choice: FolderTrustChoice) => void; setConstrainHeight: (value: boolean) => void; onEscapePromptChange: (show: boolean) => void; onSuggestionsVisibilityChange: (visible: boolean) => void; refreshStatic: () => void; handleFinalSubmit: (value: string) => void; handleRetryLastPrompt: () => void; handleClearScreen: () => void; handleWelcomeBackSelection: (choice: 'continue' | 'restart') => void; handleWelcomeBackClose: () => void; closeSubagentCreateDialog: () => void; closeAgentsManagerDialog: () => void; closeExtensionsManagerDialog: () => void; closeMcpDialog: () => void; openHooksDialog: () => void; closeHooksDialog: () => void; openResumeDialog: () => void; closeResumeDialog: () => void; handleResume: (sessionId: string) => void; openFeedbackDialog: () => void; closeFeedbackDialog: () => void; temporaryCloseFeedbackDialog: () => void; submitFeedback: (rating: number) => void; } export declare const UIActionsContext: import("react").Context; export declare const useUIActions: () => UIActions;