import { type DrizzleExecutor } from "../drizzle.js"; import { type PubSub } from "../realtime/index.js"; import { type WorkspaceDirectoryPage, type WorkspaceCommandResult, type WorkspaceHashedFileWriteResult, type WorkspaceHashedTextFile, type WorkspaceFileDeleteResult, type WorkspaceFileWriteResult, type WorkspaceSnapshot, type WorkspaceTextFile, type WorkspaceTextPatch } from "./types.js"; export declare const MAX_WORKSPACE_TEXT_FILE_BYTES: number; /** * These directories remain visible but collapsed during adaptive preload. They * are ordinary pageable directories after that; none are hidden from the API. */ export declare const DEFAULT_DEFERRED_WORKSPACE_DIRECTORIES: readonly string[]; export declare class WorkspaceService { private readonly executor; private readonly pubsub; private readonly workspacesRoot; private readonly onError; private readonly indexes; private readonly indexCreations; private readonly warmIndexes; private readonly indexesByChat; private closed; constructor(executor: DrizzleExecutor, pubsub: PubSub, workspacesRoot: string, onError?: (error: unknown) => void); getSnapshot(userId: string, chatId: string): Promise; getDirectory(input: { userId: string; chatId: string; directory: string; cursor?: string; limit?: number; }): Promise; getFile(input: { userId: string; chatId: string; path: string; }): Promise; getFileWithHash(input: { userId: string; chatId: string; path: string; }): Promise; writeFile(input: { userId: string; chatId: string; path: string; expectedVersion: string | null; content?: string; patch?: WorkspaceTextPatch; }): Promise; writeFileByHash(input: { userId: string; chatId: string; path: string; expectedHash: string | null; content: string; }): Promise; runCommand(input: { userId: string; chatId: string; command: string; environment: Readonly>; }): Promise; deleteFile(input: { userId: string; chatId: string; path: string; expectedVersion: string; }): Promise; close(): Promise; private authorizedIndex; private attachChat; private touchWarmIndex; private coolOldIndexes; } export declare function workspaceDirectoryPageLimit(value: number | undefined): number; //# sourceMappingURL=service.d.ts.map