import { z } from "zod"; export declare const SANDBOX_TEMPLATE_PREVIEW_PORT_MIN = 3000; export declare const SANDBOX_TEMPLATE_PREVIEW_PORT_MAX = 9999; export declare const OPENPOND_MANIFEST_FILE_NAME = "openpond.yaml"; export declare const SANDBOX_TEMPLATE_BUILD_PLAN_FILE_NAME = "openpond-template-plan.json"; export declare const SANDBOX_TEMPLATE_BUILD_PLAN_KIND = "openpond.sandboxTemplate.buildPlan.v1"; export declare const SandboxTemplateManifestSchema: z.ZodObject<{ schemaVersion: z.ZodLiteral<1>; name: z.ZodString; version: z.ZodString; useCase: z.ZodString; description: z.ZodString; runtime: z.ZodObject<{ base: z.ZodOptional; snapshot: z.ZodOptional; image: z.ZodOptional; registrySecretRef: z.ZodOptional; platform: z.ZodOptional>; workspaceRoot: z.ZodOptional; }, z.core.$strict>>; dockerfile: z.ZodOptional; path: z.ZodDefault; target: z.ZodOptional; buildArgs: z.ZodOptional>; registrySecretRefs: z.ZodOptional>; platform: z.ZodOptional>; workspaceRoot: z.ZodOptional; }, z.core.$strict>>; }, z.core.$strict>; resources: z.ZodOptional; memoryGb: z.ZodOptional; diskGb: z.ZodOptional; }, z.core.$strict>>; setup: z.ZodDefault>; }, z.core.$strict>>; validation: z.ZodObject<{ commands: z.ZodArray; probes: z.ZodDefault; port: z.ZodNumber; path: z.ZodDefault; expectedStatus: z.ZodDefault; }, z.core.$strict>>>; }, z.core.$strict>; start: z.ZodObject<{ command: z.ZodString; cwd: z.ZodOptional; timeoutSeconds: z.ZodOptional; requiresStart: z.ZodDefault; ports: z.ZodDefault>; label: z.ZodOptional; access: z.ZodDefault>; path: z.ZodDefault; }, z.core.$strict>>>; artifactPaths: z.ZodDefault>; }, z.core.$strict>; actions: z.ZodDefault; timeoutSeconds: z.ZodOptional; requiresStart: z.ZodDefault; ports: z.ZodDefault>; label: z.ZodOptional; access: z.ZodDefault>; path: z.ZodDefault; }, z.core.$strict>>>; artifactPaths: z.ZodDefault>; name: z.ZodString; }, z.core.$strict>>>; services: z.ZodDefault; timeoutSeconds: z.ZodOptional; requiresStart: z.ZodDefault; ports: z.ZodDefault>; label: z.ZodOptional; access: z.ZodDefault>; path: z.ZodDefault; }, z.core.$strict>>>; artifactPaths: z.ZodDefault>; name: z.ZodString; }, z.core.$strict>>>; schedules: z.ZodDefault; cron: z.ZodOptional; rate: z.ZodOptional; once: z.ZodOptional; scheduleType: z.ZodOptional>; scheduleExpression: z.ZodOptional; timezone: z.ZodOptional; enabled: z.ZodDefault; startAt: z.ZodOptional; endAt: z.ZodOptional; maxRuns: z.ZodOptional>; runtimePolicy: z.ZodDefault>; action: z.ZodOptional; actionName: z.ZodOptional; command: z.ZodOptional; target: z.ZodOptional>; name: z.ZodOptional; actionName: z.ZodOptional; command: z.ZodOptional; requiresStart: z.ZodOptional; }, z.core.$strict>>; requiresStart: z.ZodOptional; budget: z.ZodOptional; }, z.core.$strict>>; resources: z.ZodOptional; memoryGb: z.ZodOptional; diskGb: z.ZodOptional; }, z.core.$strict>>; quotas: z.ZodOptional>; lifecycle: z.ZodOptional>; retentionPolicy: z.ZodOptional>; env: z.ZodOptional; secretRef: z.ZodOptional; }, z.core.$strict>>>; integrationLeases: z.ZodOptional>>; metadata: z.ZodOptional>; }, z.core.$strict>>>; mcp: z.ZodDefault; service: z.ZodOptional; port: z.ZodNumber; path: z.ZodDefault; }, z.core.$strict>>>; }, z.core.$strict>>; volumes: z.ZodDefault; mountPath: z.ZodOptional; storageGb: z.ZodOptional; deleteOnSandboxDelete: z.ZodOptional; }, z.core.$strict>>>; integrations: z.ZodDefault; scopes: z.ZodDefault>; capabilities: z.ZodDefault>; }, z.core.$strict>>>; }, z.core.$strict>>; permissions: z.ZodDefault>; scopes: z.ZodDefault>; }, z.core.$strict>>; }, z.core.$catchall>>>; inputs: z.ZodDefault>; env: z.ZodDefault; secret: z.ZodDefault; description: z.ZodOptional; }, z.core.$strict>>>; }, z.core.$strict>>; artifacts: z.ZodDefault>; }, z.core.$strict>>; network: z.ZodDefault>; }, z.core.$strict>>; }, z.core.$strict>; export type SandboxTemplateManifest = z.infer; export type SandboxTemplateResources = NonNullable; export type SandboxTemplatePort = SandboxTemplateManifest["start"]["ports"][number]; export type SandboxTemplateCommand = SandboxTemplateManifest["start"]; export type SandboxTemplateNamedCommand = SandboxTemplateManifest["actions"][number]; export type SandboxTemplateSchedule = SandboxTemplateManifest["schedules"][number]; export type SandboxTemplateVolume = SandboxTemplateManifest["volumes"][number]; export type SandboxTemplateExecutableKind = "start" | "action" | "service"; export type SandboxTemplateExecutable = SandboxTemplateCommand & { kind: SandboxTemplateExecutableKind; name: string; }; export type SandboxTemplateBuildPlan = { kind: typeof SANDBOX_TEMPLATE_BUILD_PLAN_KIND; schemaVersion: 1; manifestFile: string; projectRoot: string; manifest: SandboxTemplateManifest; metadata: Record; executables: SandboxTemplateExecutable[]; }; export type SandboxTemplateValidationDiagnostic = { path: string; message: string; code: string; }; export type SandboxTemplateValidationResult = { ok: true; manifest: SandboxTemplateManifest; diagnostics: []; } | { ok: false; manifest: null; diagnostics: SandboxTemplateValidationDiagnostic[]; }; export declare const SandboxTemplateValidationDiagnosticSchema: z.ZodObject<{ path: z.ZodString; message: z.ZodString; code: z.ZodString; }, z.core.$strip>; export declare function validateSandboxTemplateYaml(source: string): SandboxTemplateValidationResult; export declare function validateSandboxTemplateManifest(value: unknown): SandboxTemplateValidationResult; export declare function parseSandboxTemplateYaml(source: string): SandboxTemplateManifest; export declare function formatSandboxTemplateDiagnostics(diagnostics: SandboxTemplateValidationDiagnostic[]): string; export declare function defineSandboxTemplate(template: T): T; export declare function sandboxTemplateResources(resources?: Partial): SandboxTemplateResources; export declare function sandboxTemplateDurableVolume(volume: SandboxTemplateVolume): SandboxTemplateVolume; export declare function sandboxTemplatePreviewPort(port: number, options?: Omit, "port">): SandboxTemplatePort; export type SandboxTemplateFileInputOptions = { targetPath: string; title?: string; description?: string; accept?: string[]; multiple?: boolean; }; export type SandboxTemplateFileInputSchema = { type: "string"; format: "file"; title?: string; description?: string; "x-openpond-upload": { targetPath: string; accept?: string[]; multiple?: false; }; } | { type: "array"; title?: string; description?: string; items: { type: "string"; format: "file"; }; "x-openpond-upload": { targetPath: string; accept?: string[]; multiple: true; }; }; export declare function sandboxTemplateFileInput(options: SandboxTemplateFileInputOptions): SandboxTemplateFileInputSchema; export declare function sandboxTemplateExecutableEntries(manifest: SandboxTemplateManifest): SandboxTemplateExecutable[]; export declare function sandboxTemplateBuildMetadata(manifest: SandboxTemplateManifest): Record; export declare function sandboxTemplateBuildPlan(input: { manifest: SandboxTemplateManifest; manifestFile: string; projectRoot: string; }): SandboxTemplateBuildPlan; export type SandboxTemplateScaffoldInput = { name: string; description?: string; }; export declare function sandboxTemplateScaffoldFiles(input: SandboxTemplateScaffoldInput): Record; export declare function sandboxTemplateJsonSchema(): Record;