import { type Static } from "@sinclair/typebox"; export interface FileSearchResult { fileName: string; path: string; } export interface SearchFilesResponse { files: readonly FileSearchResult[]; } export interface ListProjectFilePathsResponse { /** Every file in the checkout, relative to it, with POSIX separators, sorted. */ paths: readonly string[]; /** True when the checkout holds more files than `paths` carries, so a client can say so. */ truncated: boolean; } export interface ReadProjectFileResponse { /** Base64-encoded file bytes. */ content: string; /** SHA-256 of the returned bytes, used to guard a later write. */ hash: string; } export interface ReadProjectFileRevisionResponse { /** Base64-encoded file bytes at that revision, or `null` when the revision has no such file. */ content: string | null; /** SHA-256 of the returned bytes, or `null` when the revision has no such file. */ hash: string | null; } export declare const listFileTreeRequestSchema: import("@sinclair/typebox").TObject<{ cursor: import("@sinclair/typebox").TOptional; limit: import("@sinclair/typebox").TOptional; path: import("@sinclair/typebox").TString; }>; export type ListFileTreeRequest = Static; export declare const fileTreeEntrySchema: import("@sinclair/typebox").TObject<{ modified: import("@sinclair/typebox").TNumber; name: import("@sinclair/typebox").TString; path: import("@sinclair/typebox").TString; size: import("@sinclair/typebox").TInteger; type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"directory">, import("@sinclair/typebox").TLiteral<"file">, import("@sinclair/typebox").TLiteral<"symlink">, import("@sinclair/typebox").TLiteral<"other">]>; }>; export type FileTreeEntry = Static; export declare const listFileTreeResponseSchema: import("@sinclair/typebox").TObject<{ entries: import("@sinclair/typebox").TArray, import("@sinclair/typebox").TLiteral<"file">, import("@sinclair/typebox").TLiteral<"symlink">, import("@sinclair/typebox").TLiteral<"other">]>; }>>; nextCursor: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; path: import("@sinclair/typebox").TString; }>; export type ListFileTreeResponse = Static; export declare const writeProjectFileRequestSchema: import("@sinclair/typebox").TObject<{ /** Base64-encoded replacement bytes. */ content: import("@sinclair/typebox").TString; /** `null` creates a new file; a hash replaces exactly the version that was read. */ expectedHash: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TNull]>; path: import("@sinclair/typebox").TString; }>; export type WriteProjectFileRequest = Static; export interface WriteProjectFileResponse { hash: string; }