import type { InferSchema } from "../../extensions/schema/index.js"; /** Maximum aggregate file records returned by one project listing. */ export declare const MAX_RUNTIME_PROJECT_FILES_TOTAL_ITEMS = 10000; /** Whether a value is a canonical project-relative file path. */ export declare function isRuntimeProjectFilePath(path: unknown): path is string; export declare const getRuntimeProjectFileSchema: () => import("../../internal-agents/schema.js").Schema; content: import("../../internal-agents/schema.js").Schema; }>>; export declare const getRuntimeProjectFileListItemSchema: () => import("../../internal-agents/schema.js").Schema; }>>; /** Strict hosted-boundary schema for a runtime project file. */ export declare const getStrictRuntimeProjectFileSchema: () => import("../../internal-agents/schema.js").Schema; content: import("../../internal-agents/schema.js").Schema; }>>; /** Strict hosted-boundary schema for a runtime project file list item. */ export declare const getStrictRuntimeProjectFileListItemSchema: () => import("../../internal-agents/schema.js").Schema; }>>; /** Schema for runtime project file. * @deprecated Use getRuntimeProjectFileSchema() */ export declare const runtimeProjectFileSchema: import("../../internal-agents/schema.js").Schema; content: import("../../internal-agents/schema.js").Schema; }>>; /** Schema for runtime project file list item. * @deprecated Use getRuntimeProjectFileListItemSchema() */ export declare const runtimeProjectFileListItemSchema: import("../../internal-agents/schema.js").Schema; }>>; /** Public API contract for runtime project file. */ export type RuntimeProjectFile = InferSchema>; /** Public API contract for runtime project file list item. */ export type RuntimeProjectFileListItem = InferSchema>; /** Options accepted by runtime project files API. */ export type RuntimeProjectFilesApiOptions = { projectId: string; authToken: string; branchId?: string | null; /** Stop pagination before retaining more than this many entries. */ maximumEntries?: number; /** Restrict the API listing to this bounded server-side path prefix. */ pathPrefix?: string; /** Shared bounded-listing budget used when one catalog spans several prefixes. */ listingBudget?: RuntimeProjectFileListingBudget; /** Cooperatively cancel all requests and body reads in this listing. */ abortSignal?: AbortSignal; /** Bound the complete request/pagination operation. */ timeoutMs?: number; }; /** Options accepted by runtime get project file. */ export type RuntimeGetProjectFileOptions = RuntimeProjectFilesApiOptions & { path: string; /** Reject returned text content above this character count. */ maximumContentCharacters?: number; }; /** Public API contract for runtime project files fetch. */ export type RuntimeProjectFilesFetch = (url: string, init: RequestInit) => Promise; /** Public API contract for runtime project files trace. */ export type RuntimeProjectFilesTrace = (name: string, fn: () => Promise) => Promise; /** Options accepted by runtime project files client. */ export type RuntimeProjectFilesClientOptions = { apiUrl: string | URL; fetch?: RuntimeProjectFilesFetch; timeoutMs?: number; pageLimit?: number; trace?: RuntimeProjectFilesTrace; createAccessDeniedError?: (statusCode: number, message: string) => Error; }; /** Internal options for fail-closed hosted project-file reads. */ export type StrictRuntimeProjectFilesClientOptions = RuntimeProjectFilesClientOptions & { /** Aggregate listing timeout, capped at five minutes. */ operationTimeoutMs?: number; }; /** Internal per-call context for fail-closed hosted project-file reads. */ type StrictRuntimeProjectFilesRequestContext = { /** Caller cancellation composed with request and aggregate deadlines. */ signal?: AbortSignal; }; /** Public API contract for runtime project files client. */ export type RuntimeProjectFilesClient = { getProjectFile: (options: RuntimeGetProjectFileOptions) => Promise; getProjectFiles: (options: RuntimeProjectFilesApiOptions) => Promise; }; /** Opaque cumulative budget shared by related project-file listings. */ export type RuntimeProjectFileListingBudget = { consumePage(): void; consumeBytes(byteCount: number): void; }; /** Create a cumulative project-file listing budget. */ export declare function createRuntimeProjectFileListingBudget(): RuntimeProjectFileListingBudget; /** Internal client contract that accepts request-scoped cancellation. */ type StrictRuntimeProjectFilesClient = { getProjectFile: (options: RuntimeGetProjectFileOptions & StrictRuntimeProjectFilesRequestContext) => Promise; getProjectFiles: (options: RuntimeProjectFilesApiOptions & StrictRuntimeProjectFilesRequestContext) => Promise; }; /** Error shape for runtime project files API auth. */ export declare class RuntimeProjectFilesApiAuthError extends Error { readonly statusCode: number; readonly errorCode: string; constructor(statusCode: number, message: string); } /** Create runtime project files client. */ export declare function createRuntimeProjectFilesClient(options: RuntimeProjectFilesClientOptions): RuntimeProjectFilesClient; /** * Create a runtime project files client that enforces hosted trust-boundary * validation and resource limits. */ export declare function createStrictRuntimeProjectFilesClient(options: StrictRuntimeProjectFilesClientOptions): StrictRuntimeProjectFilesClient; /** Return runtime project file. */ export declare function getRuntimeProjectFile(options: RuntimeProjectFilesClientOptions & RuntimeGetProjectFileOptions): Promise; /** Return a runtime project file with strict hosted-boundary enforcement. */ export declare function getStrictRuntimeProjectFile(options: StrictRuntimeProjectFilesClientOptions & RuntimeGetProjectFileOptions & StrictRuntimeProjectFilesRequestContext): Promise; /** Whether a runtime project file content value fits the shared Skill budget. */ export declare function isRuntimeProjectFileContent(content: unknown): content is string; /** Return runtime project files. */ export declare function getRuntimeProjectFiles(options: RuntimeProjectFilesClientOptions & RuntimeProjectFilesApiOptions): Promise; /** Return runtime project files with strict hosted-boundary enforcement. */ export declare function getStrictRuntimeProjectFiles(options: StrictRuntimeProjectFilesClientOptions & RuntimeProjectFilesApiOptions & StrictRuntimeProjectFilesRequestContext): Promise; export {}; //# sourceMappingURL=project-files-client.d.ts.map