import { ArkoLifecycle } from './arko-lifecycle.js'; import type { ArkmeArkoLifecycleCommand } from '../arko-lifecycle-contract.js'; import type { ArkmeArkoHistoryQuery, ArkmeArkoSearchQuery, ArkmeArkoMessagePage, ArkmeArkoSearchPage, ArkmeArkoContextQuery, ArkmeArkoContextWindow, ArkmeArkoExport, ArkmeArkoExportProgress } from '../arko-history-contract.js'; import { type ArkmeArkoPendingTurn } from '../arko-turn-contract.js'; import type { ArkmeSessionCredentials } from '../keychain-store.js'; import type { ArkmeArkoAskResult, ArkmeArkoCancelResult, ArkmeArkoHistoryItem, ArkmeArkoHistoryPage, ArkmeArkoModelCatalog, ArkmeArkoProfile, ArkmeArkoRunStatus, ArkmeArkoSession, ArkmeTimelineItem } from '../types.js'; import { ProfileService } from './profile-service.js'; import { ServiceRuntime } from './service.js'; import { MessageActionService } from './message-action-service.js'; import type { ArkmeContentBlock, ArkmeUploadedAsset } from '../types.js'; import type { ArkmeLocalFile } from '../file-transfer-contract.js'; import { ArkoLocalMarks } from './arko-local-marks.js'; export interface ArkoImagePorts { withReferences?(refs: readonly string[], userId: number, persist: () => Promise): Promise; read(fileRef: string): Promise<{ file: ArkmeLocalFile; }>; upload(fileRefs: readonly string[], signal?: AbortSignal): Promise; project(raw: unknown, userId: number): ArkmeContentBlock[]; } export declare class ArkoService { private readonly runtime; private readonly profile; private readonly messageActions?; private readonly images?; private readonly historyCodec; private readonly generated; readonly lifecycle: ArkoLifecycle; readonly localMarks: ArkoLocalMarks; private readonly arkoProfileDisplayNameCache; constructor(runtime: ServiceRuntime, profile: ProfileService, messageActions?: MessageActionService | undefined, images?: ArkoImagePorts | undefined); dispose(): void; arkoProfile(signal?: AbortSignal): Promise; arkoEnsureSession(signal?: AbortSignal): Promise; arkoCreateSession(signal?: AbortSignal): Promise; arkoModelCatalog(signal?: AbortSignal): Promise; arkoActivateModel(routeKey: string, signal?: AbortSignal): Promise; arkoHistoryPage(limit?: number, offset?: number, signal?: AbortSignal): Promise; private historyFacts; private projectHistory; private historyBody; private messageRef; private historyContinuation; arkoLifecycle(refs?: readonly string[], signal?: AbortSignal): Promise; arkoChangeLifecycle(command: ArkmeArkoLifecycleCommand, signal?: AbortSignal): Promise; arkoRecentlyDeleted(cursor?: string, signal?: AbortSignal): Promise; arkoMessages(query?: ArkmeArkoHistoryQuery, signal?: AbortSignal): Promise; arkoSearch(query: ArkmeArkoSearchQuery, signal?: AbortSignal): Promise; arkoContext(query: ArkmeArkoContextQuery, signal?: AbortSignal): Promise; private readMessages; private readSearch; private readContext; arkoExport(signal?: AbortSignal, onProgress?: (progress: ArkmeArkoExportProgress) => void): Promise; actionMessages(anchors: readonly { sessionId: number; messageId: number; }[], userId: number, signal?: AbortSignal): Promise; readGeneratedFile(ref: string): Promise<{ path: string; file: ArkmeLocalFile; }>; arkoAsk(text: string, options?: { sessionId?: number; clientTurnUid?: string; waitMillis?: number; modelRouteKey?: string; replyToRunUid?: string; replyToAssistantMsgId?: number; imageFileRefs?: readonly string[]; expectedUserId?: number; signal?: AbortSignal; }): Promise; private newPendingTurn; arkoPendingTurns(expectedUserId?: number): Promise; arkoPrepareTurn(turn: ArkmeArkoPendingTurn): Promise; arkoAcknowledgeTurn(uid: string, expectedUserId?: number): Promise; private postArkoTurn; arkoRunStatus(sessionId: number, runUid: string, signal?: AbortSignal): Promise; arkoCancel(sessionId: number, assistantMsgId: number, runUid: string, signal?: AbortSignal): Promise; private arkoProfileDisplayName; private cacheArkoProfileDisplayName; private cachedArkoProfileDisplayName; currentUserAgentSourceFallback(userId: number, source: ArkmeTimelineItem['agentSource'] | undefined): ArkmeTimelineItem['agentSource'] | undefined; agentSourceDisplayName(session: ArkmeSessionCredentials): Promise; private authenticatedIntelligentSseEvents; private readIntelligentSseEvents; private projectArkoStreamEvents; } //# sourceMappingURL=arko-service.d.ts.map