import { z } from "zod"; /** * Default upper bound on `downloadFile` payload size. The tool boundary is * JSON, so anything larger than ~1 MiB is almost certainly a mistake (it * blows up the model context and the response payload). Callers can raise * the cap per-invocation via `maxBytes`, up to MAX_DOWNLOAD_BYTES. */ export declare const DEFAULT_MAX_DOWNLOAD_BYTES: number; export declare const MAX_DOWNLOAD_BYTES: number; declare const listFilesInput: z.ZodObject<{ cursor: z.ZodOptional; limit: z.ZodOptional; prefix: z.ZodOptional; }, z.core.$strip>; declare const getFileMetadataInput: z.ZodObject<{ key: z.ZodString; }, z.core.$strip>; declare const downloadFileInput: z.ZodObject<{ binary: z.ZodOptional; key: z.ZodString; maxBytes: z.ZodOptional; }, z.core.$strip>; declare const getFileUrlInput: z.ZodObject<{ expiresIn: z.ZodOptional; key: z.ZodString; responseContentDisposition: z.ZodOptional; }, z.core.$strip>; declare const uploadFileInput: z.ZodObject<{ cacheControl: z.ZodOptional; content: z.ZodString; contentType: z.ZodOptional; encoding: z.ZodOptional>; key: z.ZodString; metadata: z.ZodOptional>; }, z.core.$strip>; declare const deleteFileInput: z.ZodObject<{ key: z.ZodString; }, z.core.$strip>; declare const copyFileInput: z.ZodObject<{ from: z.ZodString; to: z.ZodString; }, z.core.$strip>; declare const signUploadUrlInput: z.ZodObject<{ contentType: z.ZodOptional; expiresIn: z.ZodNumber; key: z.ZodString; maxSize: z.ZodOptional; minSize: z.ZodOptional; }, z.core.$strip>; export declare const TOOL_SCHEMAS: { readonly copyFile: { readonly description: "Copy a file to a new key within the configured bucket. The source remains intact."; readonly input: z.ZodObject<{ from: z.ZodString; to: z.ZodString; }, z.core.$strip>; }; readonly deleteFile: { readonly description: "Permanently delete a file from the configured bucket."; readonly input: z.ZodObject<{ key: z.ZodString; }, z.core.$strip>; }; readonly downloadFile: { readonly description: "Download a file and return its contents. Returns UTF-8 text by default; set binary=true to receive base64-encoded bytes. Files larger than maxBytes are rejected before transfer."; readonly input: z.ZodObject<{ binary: z.ZodOptional; key: z.ZodString; maxBytes: z.ZodOptional; }, z.core.$strip>; }; readonly getFileMetadata: { readonly description: "Fetch metadata for a single file (size, content type, etag, custom metadata) without transferring its body."; readonly input: z.ZodObject<{ key: z.ZodString; }, z.core.$strip>; }; readonly getFileUrl: { readonly description: "Return a URL the caller can use to fetch a file. Signing adapters return a presigned URL that expires after expiresIn seconds; permanent-CDN adapters (Vercel Blob public) return a permanent URL and ignore expiresIn."; readonly input: z.ZodObject<{ expiresIn: z.ZodOptional; key: z.ZodString; responseContentDisposition: z.ZodOptional; }, z.core.$strip>; }; readonly listFiles: { readonly description: "List files in the configured bucket, optionally filtered by key prefix. Returns paginated metadata with a continuation cursor."; readonly input: z.ZodObject<{ cursor: z.ZodOptional; limit: z.ZodOptional; prefix: z.ZodOptional; }, z.core.$strip>; }; readonly signUploadUrl: { readonly description: "Issue a presigned URL that lets a client upload directly to the configured bucket. Approval-gated by default — the URL grants upload permission until it expires."; readonly input: z.ZodObject<{ contentType: z.ZodOptional; expiresIn: z.ZodNumber; key: z.ZodString; maxSize: z.ZodOptional; minSize: z.ZodOptional; }, z.core.$strip>; }; readonly uploadFile: { readonly description: 'Upload a file to the configured bucket. Pass content as UTF-8 text by default, or as base64 with encoding="base64" for binary payloads.'; readonly input: z.ZodObject<{ cacheControl: z.ZodOptional; content: z.ZodString; contentType: z.ZodOptional; encoding: z.ZodOptional>; key: z.ZodString; metadata: z.ZodOptional>; }, z.core.$strip>; }; }; export type FileToolName = keyof typeof TOOL_SCHEMAS; export type FileReadToolName = "listFiles" | "getFileMetadata" | "downloadFile" | "getFileUrl"; export type FileWriteToolName = "uploadFile" | "deleteFile" | "copyFile" | "signUploadUrl"; export declare const WRITE_TOOL_NAMES: ReadonlySet; export type ListFilesInput = z.infer; export type GetFileMetadataInput = z.infer; export type DownloadFileInput = z.infer; export type GetFileUrlInput = z.infer; export type UploadFileInput = z.infer; export type DeleteFileInput = z.infer; export type CopyFileInput = z.infer; export type SignUploadUrlInput = z.infer; export {}; //# sourceMappingURL=schemas.d.ts.map