export { configureApiClient } from './utils'; export type { Goal, GoalStatus, GoalTask, GoalTaskStatus, Subagent, SubagentStatus, } from './goals'; export type { ShellJob, ShellJobStatus } from './shell-jobs'; export type { DictationKeyword } from './config'; export type { CreateDictationSessionInput, CreateDictationSessionResponse, DictationModelInstallEvent, DictationModelInstallStatus, DictationModelState, DictationModelsResponse, DictationStatusResponse, InstallDictationModelInput, InstallDictationModelResponse, RemoveDictationModelResponse, } from './dictation'; export type { Recipe } from './recipes'; export type { Reference, ReferenceDirectoryListing, ListReferenceScope, ReferenceScope, } from './references'; export type { DiscoveredPlugin, EffectivePlugin, PluginCommand, PluginCommandListEntry, PluginCommandParameter, PluginCommandRunInput, PluginCommandsListResponse, PluginInstallInput, PluginManifest, PluginMutationInput, PluginMutationResponse, PluginProjectOptions, PluginRegistryEntry, PluginRegistryResponse, PluginsListResponse, PluginScope, PluginUpdateInput, PluginUpdateResponse, } from './plugins'; declare class ApiClient { getSessions: () => Promise; getSessionsPage: (params?: { limit?: number; offset?: number; sessionType?: "looper"; }) => Promise; createSession: (data: import("../..").CreateSessionRequest) => Promise; getSession: (sessionId: string) => Promise; updateSession: (sessionId: string, data: import("../..").UpdateSessionRequest) => Promise; markSessionViewed: (sessionId: string) => Promise; deleteSession: (sessionId: string) => Promise<{ success: boolean; }>; createHandoff: (sessionId: string) => Promise<{ session: import("../..").Session; sessionId: string; sourceSessionId: string; message: string; }>; abortSession: (sessionId: string) => Promise<{ success: boolean; }>; abortMessage: (sessionId: string, _messageId: string) => Promise<{ success: boolean; wasRunning: boolean; messageId: string; }>; getQueueState: (sessionId: string) => Promise<{ currentMessageId: string | null; queuedMessages: Array<{ messageId: string; position: number; }>; isRunning: boolean; }>; removeFromQueue: (sessionId: string, messageId: string) => Promise<{ success: boolean; removed: boolean; wasQueued?: boolean; wasRunning?: boolean; }>; sendQueuedMessageNow: (sessionId: string, messageId: string) => Promise<{ success: boolean; promoted: boolean; wasQueued?: boolean; wasRunning?: boolean; preemptedMessageId?: string | null; }>; getMessages: (sessionId: string) => Promise; getMessagePage: (sessionId: string, params?: { limit?: number; cursor?: string | null; }) => Promise; getMessagePartContent: (sessionId: string, partId: string) => Promise; sendMessage: (sessionId: string, data: import("../..").SendMessageRequest) => Promise; getStreamUrl: (sessionId: string) => string; retryMessage: (sessionId: string, messageId: string) => Promise<{ success: boolean; messageId: string; }>; initGitRepo: () => Promise<{ initialized: boolean; path: string; }>; getGitStatus: () => Promise; getGitDiff: (file: string, staged?: boolean) => Promise; getGitDiffFullFile: (file: string, staged?: boolean) => Promise; generateCommitMessage: (sessionId?: string) => Promise; stageFiles: (files: string[]) => Promise; unstageFiles: (files: string[]) => Promise; restoreFiles: (files: string[]) => Promise<{ restored: string[]; }>; deleteFiles: (files: string[]) => Promise<{ deleted: string[]; }>; commitChanges: (message: string, sessionId?: string | null) => Promise; getGitBranch: () => Promise; pushCommits: (sessionId?: string | null) => Promise; pullChanges: (sessionId?: string | null) => Promise; performRebaseAction: (action: "continue" | "abort" | "skip") => Promise; getRemotes: () => Promise; addRemote: (name: string, url: string) => Promise<{ name: string; url: string; }>; removeRemote: (name: string) => Promise<{ removed: string; }>; listGitBranches: () => Promise; checkoutBranch: (branch: string) => Promise<{ branch: string; }>; createGitBranch: (name: string, options?: { startPoint?: string; checkout?: boolean; }) => Promise<{ branch: string; checkedOut: boolean; }>; getConfig: () => Promise<{ agents: string[]; providers: string[]; defaults: { agent: string; provider: string; model: string; toolApproval?: "auto" | "dangerous" | "all" | "yolo"; guidedMode?: boolean; reasoningText?: boolean; reasoningLevel?: "minimal" | "low" | "medium" | "high" | "max" | "xhigh"; theme?: import("@ottocode/themes").ThemeId; tuiTheme?: string; vimMode?: boolean; compactThread?: boolean; fontFamily?: string; smartEdges?: boolean; threadNavigatorRail?: boolean; releaseToSend?: boolean; fullWidthContent?: boolean; notificationsEnabled?: boolean; dictationKeywords?: import("./config").DictationKeyword[]; dictationExcludedProjectKeywords?: string[]; dictationSmartFormatting?: boolean; autoCompactThresholdTokens?: number | null; coAuthorCommits?: boolean; }; }>; getAgentDetails: () => Promise; getAgent: (name: string) => Promise; getConfigTools: () => Promise; updateAgent: (name: string, input: import("./config").UpdateAgentInput) => Promise; deleteAgent: (name: string, scope?: "local" | "global") => Promise; getModels: (providerId: string) => Promise<{ models: Array<{ id: string; label: string; toolCall?: boolean; reasoningText?: boolean; vision?: boolean; attachment?: boolean; free?: boolean; contextWindow?: number; maxOutputTokens?: number; available?: boolean; unavailableReason?: string; }>; default: string; allowAnyModel?: boolean; dynamicModels?: boolean; label?: string; }>; getAllModels: () => Promise; getProviderDetails: () => Promise; discoverProviderModels: (data: { compatibility: "openai" | "anthropic" | "google" | "openrouter" | "ollama" | "openai-compatible"; baseURL: string; apiKey?: string; }) => Promise<{ baseURL?: string; models: import("./config").DiscoveredProviderModel[]; unsupported?: boolean; message?: string; }>; updateProviderSettings: (provider: string, data: { enabled?: boolean; custom?: boolean; label?: string; compatibility?: "openai" | "anthropic" | "google" | "openrouter" | "ollama" | "openai-compatible"; baseURL?: string | null; apiKey?: string | null; models?: import("./config").ProviderModelSettingsMap; allowAnyModel?: boolean; }) => Promise<{ success: boolean; provider: string; }>; deleteProviderSettings: (provider: string) => Promise<{ success: boolean; provider: string; }>; updateDefaults: (data: { agent?: string; provider?: string; model?: string; toolApproval?: "auto" | "dangerous" | "all" | "yolo"; guidedMode?: boolean; reasoningText?: boolean; reasoningLevel?: "minimal" | "low" | "medium" | "high" | "max" | "xhigh"; theme?: import("@ottocode/themes").ThemeId; tuiTheme?: string; vimMode?: boolean; compactThread?: boolean; fontFamily?: string; smartEdges?: boolean; threadNavigatorRail?: boolean; releaseToSend?: boolean; fullWidthContent?: boolean; notificationsEnabled?: boolean; dictationKeywords?: import("./config").DictationKeyword[]; dictationExcludedProjectKeywords?: string[]; dictationSmartFormatting?: boolean; autoCompactThresholdTokens?: number | null; coAuthorCommits?: boolean; scope?: "global" | "local"; }) => Promise<{ success: boolean; defaults: { agent: string; provider: string; model: string; toolApproval?: "auto" | "dangerous" | "all" | "yolo"; guidedMode?: boolean; reasoningText?: boolean; reasoningLevel?: "minimal" | "low" | "medium" | "high" | "max" | "xhigh"; theme?: import("@ottocode/themes").ThemeId; tuiTheme?: string; vimMode?: boolean; compactThread?: boolean; fontFamily?: string; smartEdges?: boolean; threadNavigatorRail?: boolean; releaseToSend?: boolean; fullWidthContent?: boolean; notificationsEnabled?: boolean; dictationKeywords?: import("./config").DictationKeyword[]; dictationExcludedProjectKeywords?: string[]; dictationSmartFormatting?: boolean; autoCompactThresholdTokens?: number | null; coAuthorCommits?: boolean; }; }>; listFiles: () => Promise<{ files: string[]; ignoredFiles?: string[]; changedFiles: Array<{ path: string; status: string; }>; truncated: boolean; }>; searchFiles: (query?: string) => Promise<{ files: string[]; ignoredFiles?: string[]; changedFiles: Array<{ path: string; status: string; }>; truncated: boolean; }>; getFileTree: (dirPath?: string) => Promise<{ items: Array<{ name: string; path: string; type: "file" | "directory"; gitignored?: boolean; vendor?: boolean; searchable?: boolean; }>; path: string; truncated: boolean; }>; readFileContent: (filePath: string) => Promise<{ content: string; path: string; extension: string; lineCount: number; }>; getSessionFiles: (sessionId: string) => Promise; createBranch: (sessionId: string, data: import("../..").CreateBranchRequest) => Promise; listBranches: (sessionId: string) => Promise; getParentSession: (sessionId: string) => Promise; getShareStatus: (sessionId: string) => Promise; shareSession: (sessionId: string) => Promise; syncSession: (sessionId: string) => Promise; getSessionGoal: (sessionId: string) => Promise<{ goal: import("./goals").Goal | null; }>; listGoals: () => Promise<{ goals: import("./goals").Goal[]; }>; createSessionGoal: (sessionId: string, data: { title: string; tasks?: string[]; }) => Promise<{ goal: import("./goals").Goal; }>; updateGoal: (goalId: string, data: { title?: string; status?: import("./goals").GoalStatus; }) => Promise<{ goal: import("./goals").Goal; }>; addGoalTasks: (goalId: string, tasks: string[]) => Promise<{ goal: import("./goals").Goal; }>; updateGoalTask: (goalId: string, taskId: string, data: { content?: string; status?: import("./goals").GoalTaskStatus; note?: string | null; }) => Promise<{ task: import("./goals").GoalTask; }>; deleteGoalTask: (goalId: string, taskId: string) => Promise<{ goal: import("./goals").Goal; }>; startGoal: (goalId: string) => Promise<{ goal: import("./goals").Goal; }>; listSessionSubagents: (sessionId: string, status?: import("./goals").SubagentStatus) => Promise<{ subagents: import("./goals").Subagent[]; }>; listSessionShellJobs: (sessionId: string) => Promise<{ jobs: import("./shell-jobs").ShellJob[]; }>; detachSessionShellJob: (sessionId: string, jobId: string) => Promise<{ job: import("./shell-jobs").ShellJob; }>; abortSessionShellJob: (sessionId: string, jobId: string) => Promise<{ job: import("./shell-jobs").ShellJob; }>; approveToolCall: (sessionId: string, callId: string, approved: boolean) => Promise<{ ok: boolean; callId: string; approved: boolean; }>; getPendingApprovals: (sessionId: string) => Promise<{ ok: boolean; pending: Array<{ callId: string; toolName: string; args: unknown; messageId: string; createdAt: number; }>; }>; submitSecureInput: (sessionId: string, promptId: string, value: string, remember?: boolean) => Promise<{ ok: boolean; promptId: string; cancelled: boolean; }>; cancelSecureInput: (sessionId: string, promptId: string) => Promise<{ ok: boolean; promptId: string; cancelled: boolean; }>; getPendingSecureInputs: (sessionId: string) => Promise<{ ok: boolean; pending: import("./secure-input").PendingSecureInputResponse[]; }>; getOttoRouterBalance: () => Promise<{ walletAddress: string; balance: number; totalSpent: number; totalTopups: number; requestCount: number; scope?: "wallet" | "account"; payg?: { walletBalanceUsd: number; accountBalanceUsd: number; rawPoolUsd: number; effectiveSpendableUsd: number; }; limits?: { enabled: boolean; dailyLimitUsd: number | null; dailySpentUsd: number; dailyRemainingUsd: number | null; monthlyLimitUsd: number | null; monthlySpentUsd: number; monthlyRemainingUsd: number | null; capRemainingUsd: number | null; } | null; subscription?: { active: boolean; tierId?: string; tierName?: string; creditsIncluded?: number; creditsUsed?: number; creditsRemaining?: number; creditsWeeklyLimit?: number | null; creditsFiveHourLimit?: number | null; usageWindows?: { weekly: { limit: number | null; used: number; remaining: number | null; percentUsed: number; }; fiveHour: { limit: number | null; used: number; remaining: number | null; percentUsed: number; }; }; periodStart?: string; periodEnd?: string; } | null; } | null>; getPolarTopupEstimate: (amount: number) => Promise<{ creditAmount: number; chargeAmount: number; feeAmount: number; feeBreakdown: { basePercent: number; internationalPercent: number; fixedCents: number; }; } | null>; createPolarCheckout: (amount: number, successUrl: string) => Promise<{ success: boolean; checkoutId: string; checkoutUrl: string; creditAmount: number; chargeAmount: number; feeAmount: number; }>; selectTopupMethod: (sessionId: string, method: "fiat") => Promise<{ success: boolean; method: string; }>; cancelTopup: (sessionId: string, reason?: string) => Promise<{ success: boolean; }>; getPendingTopup: (sessionId: string) => Promise<{ hasPending: boolean; sessionId?: string; messageId?: string; amountUsd?: number; currentBalance?: number; createdAt?: number; }>; getPolarTopupStatus: (checkoutId: string) => Promise<{ checkoutId: string; confirmed: boolean; amountUsd: number | null; confirmedAt: string | null; } | null>; getRazorpayTopupEstimate: (amount: number) => Promise<{ creditAmountUsd: number; chargeAmountInr: number; feeAmountInr: number; currency: string; exchangeRate: number; } | null>; createRazorpayOrder: (amount: number) => Promise<{ success: boolean; orderId: string; amount: number; currency: string; creditAmountUsd: number; keyId: string; }>; verifyRazorpayPayment: (params: { razorpay_order_id: string; razorpay_payment_id: string; razorpay_signature: string; }) => Promise<{ success: boolean; credited: number; newBalance: number; }>; getAuthStatus: () => Promise<{ onboardingComplete: boolean; ottorouter: { configured: boolean; expiresAt?: number; }; providers: Record; defaults: { agent: string; provider: string; model: string; toolApproval?: "auto" | "dangerous" | "all" | "yolo"; guidedMode?: boolean; fullWidthContent?: boolean; }; }>; addProvider: (provider: string, apiKey: string) => Promise<{ success: boolean; provider: string; }>; removeProvider: (provider: string) => Promise<{ success: boolean; provider: string; }>; completeOnboarding: () => Promise<{ success: boolean; }>; getOAuthStartUrl: (provider: string, mode?: string) => string; getOAuthUrl: (provider: string, mode?: string) => Promise<{ url: string; sessionId: string; provider: string; }>; exchangeOAuthCode: (provider: string, code: string, sessionId: string) => Promise<{ success: boolean; provider: string; }>; startOpenAIDeviceFlow: () => Promise<{ sessionId: string; userCode: string; verificationUri: string; interval: number; }>; pollOpenAIDeviceFlow: (sessionId: string) => Promise<{ status: "complete" | "pending" | "error"; error?: string; }>; startXaiDeviceFlow: () => Promise<{ sessionId: string; userCode: string; verificationUri: string; interval: number; }>; pollXaiDeviceFlow: (sessionId: string) => Promise<{ status: "complete" | "pending" | "error"; error?: string; }>; startCopilotDeviceFlow: () => Promise<{ sessionId: string; userCode: string; verificationUri: string; interval: number; }>; pollCopilotDeviceFlow: (sessionId: string) => Promise<{ status: "complete" | "pending" | "error"; error?: string; }>; startKimiDeviceFlow: () => Promise<{ sessionId: string; userCode: string; verificationUri: string; interval: number; }>; pollKimiDeviceFlow: (sessionId: string) => Promise<{ status: "complete" | "pending" | "error"; error?: string; }>; startOttoRouterDeviceFlow: () => Promise<{ sessionId: string; userCode: string; verificationUri: string; interval: number; }>; pollOttoRouterDeviceFlow: (sessionId: string) => Promise<{ status: "complete" | "pending" | "error"; error?: string; }>; getCopilotAuthMethods: () => Promise<{ oauth: boolean; token: boolean; ghImport: { available: boolean; authenticated: boolean; reason?: string; }; }>; saveCopilotToken: (token: string) => Promise<{ success: boolean; provider: string; source: "token"; modelCount: number; hasGpt52Codex: boolean; sampleModels: string[]; }>; importCopilotTokenFromGh: () => Promise<{ success: boolean; provider: string; source: "gh"; modelCount: number; hasGpt52Codex: boolean; sampleModels: string[]; }>; getCopilotDiagnostics: () => Promise<{ tokenSources: Array<{ source: "env" | "stored"; configured: boolean; modelCount?: number; hasGpt52Codex?: boolean; sampleModels?: string[]; restrictedByOrgPolicy?: boolean; restrictedOrg?: string; restrictionMessage?: string; error?: string; }>; methods: { oauth: boolean; token: boolean; ghImport: { available: boolean; authenticated: boolean; reason?: string; }; }; }>; getProviderUsage: (provider: string) => Promise; listSkills: () => Promise<{ skills: import("./skills").SkillSummary[]; }>; getSkill: (name: string) => Promise; getSkillFiles: (name: string) => Promise<{ files: import("./skills").SkillFileInfo[]; }>; getSkillFileContent: (name: string, filePath: string) => Promise<{ content: string; path: string; }>; getSkillsConfig: () => Promise; updateSkillsConfig: (input: { enabled?: boolean; items?: Record; }) => Promise; listRecipes: (scope?: import("./recipes").ListRecipesScope) => Promise<{ recipes: import("./recipes").Recipe[]; }>; saveRecipe: (name: string, content: string, scope?: import("./recipes").RecipeScope) => Promise; deleteRecipe: (name: string, scope?: import("./recipes").RecipeScope) => Promise; listReferences: (scope: import("./references").ListReferenceScope) => Promise; listReferenceDirectories: (path?: string) => Promise; saveReference: (name: string, reference: import("./references").Reference, scope: import("./references").ReferenceScope) => Promise; retryReference: (name: string) => Promise; deleteReference: (name: string, scope: import("./references").ReferenceScope) => Promise; listPlugins: (options?: import("./plugins").PluginProjectOptions) => Promise; listPluginRegistry: (options?: import("./plugins").PluginProjectOptions) => Promise; listPluginCommands: (options?: import("./plugins").PluginProjectOptions) => Promise; runPluginCommand: (plugin: string, command: string, body?: import("./plugins").PluginCommandRunInput) => Promise; installPlugin: (input: import("./plugins").PluginInstallInput) => Promise; removePlugin: (input: import("./plugins").PluginMutationInput) => Promise; enablePlugin: (input: import("./plugins").PluginMutationInput) => Promise; disablePlugin: (input: import("./plugins").PluginMutationInput) => Promise; updatePlugin: (input: import("./plugins").PluginUpdateInput) => Promise; getUsageStats: (options?: import("./usage").UsageStatsOptions) => Promise; getGlobalUsageStats: (options?: import("./usage").UsageStatsOptions) => Promise; getDictationStatus: () => Promise; listDictationModels: () => Promise; installDictationModel: ({ model, force, }: import("./dictation").InstallDictationModelInput) => Promise; removeDictationModel: (model: string) => Promise; createDictationSession: (input?: import("./dictation").CreateDictationSessionInput) => Promise; getDictationModelInstallEventsUrl: (model: string) => string; } export declare const apiClient: ApiClient; //# sourceMappingURL=index.d.ts.map