import { FileService } from '@theia/filesystem/lib/browser/file-service'; import { WorkspaceService, WorkspaceMetadataStorageService, WorkspaceMetadataStore } from '@theia/workspace/lib/browser'; import { PreferenceService } from '@theia/core/lib/common'; import { StorageService } from '@theia/core/lib/browser'; import { DisposableCollection, URI } from '@theia/core'; import { ILogger } from '@theia/core/lib/common/logger'; import { EnvVariablesServer } from '@theia/core/lib/common/env-variables'; import { ChatModel } from '../common/chat-model'; import { ChatSessionIndex, ChatSessionStore, ChatModelWithMetadata, ChatSessionMetadata } from '../common/chat-session-store'; import { SessionStorageScope } from '../common/ai-chat-preferences'; import { SerializedChatData } from '../common/chat-model-serialization'; export declare class ChatSessionStoreImpl implements ChatSessionStore { protected readonly fileService: FileService; protected readonly workspaceService: WorkspaceService; protected readonly metadataStorageService: WorkspaceMetadataStorageService; protected readonly envServer: EnvVariablesServer; protected readonly storageService: StorageService; protected readonly logger: ILogger; protected readonly preferenceService: PreferenceService; protected storageRoot?: URI; protected storageInitialized: boolean; protected indexCache?: ChatSessionIndex; protected storePromise: Promise; protected readonly toDispose: DisposableCollection; protected workspaceMetadataStore?: WorkspaceMetadataStore; protected init(): void; protected invalidateStorageCache(): void; storeSessions(...sessions: Array): Promise; private isChatModelWithMetadata; readSession(sessionId: string): Promise; deleteSession(sessionId: string): Promise; clearAllSessions(): Promise; getSessionIndex(): Promise; setSessionTitle(sessionId: string, title: string): Promise; /** * Gets the storage root URI. * Use {@link ensureStorageReady} when you need actually to access the storage. */ protected getStorageRoot(): Promise; /** * Ensures the storage directory exists and is initialized on disk. * This should be called before any disk I/O operations. */ protected ensureStorageReady(): Promise; /** * Initializes the storage directory on disk, creating it if necessary. */ protected initializeStorage(root: URI): Promise; protected getStorageScope(): Promise; protected getGlobalStorageRoot(): Promise; protected resolveStorageRoot(): Promise; protected updateIndex(sessions: ((ChatModelWithMetadata & { saveDate: number; })[])): Promise; protected getPersistedSessionLimit(): number; protected trimSessions(): Promise; protected loadIndex(): Promise; protected isValidMetadata(metadata: unknown): metadata is ChatSessionMetadata; protected saveIndex(index: ChatSessionIndex): Promise; protected migrateData(data: unknown): SerializedChatData; hasPersistedSessions(): Promise; protected hasGlobalSessions(): Promise; dispose(): void; } //# sourceMappingURL=chat-session-store-impl.d.ts.map