import { z } from "zod";
import { type ToolResult } from "../structured.js";
import type { ReleaseSpec, SitePublicPathsSpec, SiteEmbeddingSpec } from "../../sdk/dist/index.js";
/**
 * MCP `deploy` tool — exposes the unified `p.apply` primitive.
 *
 * The Zod schema mirrors `ReleaseSpec` and accepts byte sources in either
 * shape: a bare UTF-8 string (the natural shape, e.g. `"<h1>hi</h1>"`) or
 * the `{ data, encoding?, content_type? }` object — the latter is required
 * for binary payloads via base64 or for an explicit `content_type` override
 * (wire fields are snake_case; `contentType` is only the in-function JS option).
 * The SDK's `resolveContent` already accepts both polymorphically; this
 * schema mirrors that. Agents that want to ship a real app via patch
 * semantics, multi-resource atomicity, or the resumable operation model
 * use this tool.
 */
declare const fileEntry: z.ZodUnion<[z.ZodString, z.ZodObject<{
    data: z.ZodString;
    encoding: z.ZodOptional<z.ZodEnum<["utf-8", "base64"]>>;
    content_type: z.ZodOptional<z.ZodString>;
}, "strict", z.ZodTypeAny, {
    data: string;
    encoding?: "utf-8" | "base64" | undefined;
    content_type?: string | undefined;
}, {
    data: string;
    encoding?: "utf-8" | "base64" | undefined;
    content_type?: string | undefined;
}>]>;
declare const fileMap: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodObject<{
    data: z.ZodString;
    encoding: z.ZodOptional<z.ZodEnum<["utf-8", "base64"]>>;
    content_type: z.ZodOptional<z.ZodString>;
}, "strict", z.ZodTypeAny, {
    data: string;
    encoding?: "utf-8" | "base64" | undefined;
    content_type?: string | undefined;
}, {
    data: string;
    encoding?: "utf-8" | "base64" | undefined;
    content_type?: string | undefined;
}>]>>;
declare const migrationEntry: z.ZodEffects<z.ZodObject<{
    id: z.ZodOptional<z.ZodString>;
    name: z.ZodOptional<z.ZodString>;
    sql: z.ZodOptional<z.ZodString>;
    sql_ref: z.ZodOptional<z.ZodObject<{
        sha256: z.ZodString;
        size: z.ZodNumber;
        content_type: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        sha256: string;
        size: number;
        content_type?: string | undefined;
    }, {
        sha256: string;
        size: number;
        content_type?: string | undefined;
    }>>;
    checksum: z.ZodOptional<z.ZodString>;
    transaction: z.ZodOptional<z.ZodEnum<["required", "none"]>>;
}, "strict", z.ZodTypeAny, {
    name?: string | undefined;
    id?: string | undefined;
    sql?: string | undefined;
    sql_ref?: {
        sha256: string;
        size: number;
        content_type?: string | undefined;
    } | undefined;
    checksum?: string | undefined;
    transaction?: "none" | "required" | undefined;
}, {
    name?: string | undefined;
    id?: string | undefined;
    sql?: string | undefined;
    sql_ref?: {
        sha256: string;
        size: number;
        content_type?: string | undefined;
    } | undefined;
    checksum?: string | undefined;
    transaction?: "none" | "required" | undefined;
}>, {
    name?: string | undefined;
    id?: string | undefined;
    sql?: string | undefined;
    sql_ref?: {
        sha256: string;
        size: number;
        content_type?: string | undefined;
    } | undefined;
    checksum?: string | undefined;
    transaction?: "none" | "required" | undefined;
}, {
    name?: string | undefined;
    id?: string | undefined;
    sql?: string | undefined;
    sql_ref?: {
        sha256: string;
        size: number;
        content_type?: string | undefined;
    } | undefined;
    checksum?: string | undefined;
    transaction?: "none" | "required" | undefined;
}>;
declare const functionSpec: z.ZodObject<{
    runtime: z.ZodOptional<z.ZodLiteral<"node22">>;
    source: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
        data: z.ZodString;
        encoding: z.ZodOptional<z.ZodEnum<["utf-8", "base64"]>>;
        content_type: z.ZodOptional<z.ZodString>;
    }, "strict", z.ZodTypeAny, {
        data: string;
        encoding?: "utf-8" | "base64" | undefined;
        content_type?: string | undefined;
    }, {
        data: string;
        encoding?: "utf-8" | "base64" | undefined;
        content_type?: string | undefined;
    }>]>>;
    files: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodObject<{
        data: z.ZodString;
        encoding: z.ZodOptional<z.ZodEnum<["utf-8", "base64"]>>;
        content_type: z.ZodOptional<z.ZodString>;
    }, "strict", z.ZodTypeAny, {
        data: string;
        encoding?: "utf-8" | "base64" | undefined;
        content_type?: string | undefined;
    }, {
        data: string;
        encoding?: "utf-8" | "base64" | undefined;
        content_type?: string | undefined;
    }>]>>>;
    entrypoint: z.ZodOptional<z.ZodString>;
    config: z.ZodOptional<z.ZodObject<{
        timeoutSeconds: z.ZodOptional<z.ZodNumber>;
        memoryMb: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        timeoutSeconds?: number | undefined;
        memoryMb?: number | undefined;
    }, {
        timeoutSeconds?: number | undefined;
        memoryMb?: number | undefined;
    }>>;
    schedule: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, "strict", z.ZodTypeAny, {
    source?: string | {
        data: string;
        encoding?: "utf-8" | "base64" | undefined;
        content_type?: string | undefined;
    } | undefined;
    runtime?: "node22" | undefined;
    files?: Record<string, string | {
        data: string;
        encoding?: "utf-8" | "base64" | undefined;
        content_type?: string | undefined;
    }> | undefined;
    entrypoint?: string | undefined;
    config?: {
        timeoutSeconds?: number | undefined;
        memoryMb?: number | undefined;
    } | undefined;
    schedule?: string | null | undefined;
}, {
    source?: string | {
        data: string;
        encoding?: "utf-8" | "base64" | undefined;
        content_type?: string | undefined;
    } | undefined;
    runtime?: "node22" | undefined;
    files?: Record<string, string | {
        data: string;
        encoding?: "utf-8" | "base64" | undefined;
        content_type?: string | undefined;
    }> | undefined;
    entrypoint?: string | undefined;
    config?: {
        timeoutSeconds?: number | undefined;
        memoryMb?: number | undefined;
    } | undefined;
    schedule?: string | null | undefined;
}>;
export declare const deploySchema: {
    project_id: z.ZodString;
    base: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
        release: z.ZodEnum<["current", "empty"]>;
    }, "strict", z.ZodTypeAny, {
        release: "current" | "empty";
    }, {
        release: "current" | "empty";
    }>, z.ZodObject<{
        release_id: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        release_id: string;
    }, {
        release_id: string;
    }>]>>;
    database: z.ZodOptional<z.ZodObject<{
        migrations: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodObject<{
            id: z.ZodOptional<z.ZodString>;
            name: z.ZodOptional<z.ZodString>;
            sql: z.ZodOptional<z.ZodString>;
            sql_ref: z.ZodOptional<z.ZodObject<{
                sha256: z.ZodString;
                size: z.ZodNumber;
                content_type: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                sha256: string;
                size: number;
                content_type?: string | undefined;
            }, {
                sha256: string;
                size: number;
                content_type?: string | undefined;
            }>>;
            checksum: z.ZodOptional<z.ZodString>;
            transaction: z.ZodOptional<z.ZodEnum<["required", "none"]>>;
        }, "strict", z.ZodTypeAny, {
            name?: string | undefined;
            id?: string | undefined;
            sql?: string | undefined;
            sql_ref?: {
                sha256: string;
                size: number;
                content_type?: string | undefined;
            } | undefined;
            checksum?: string | undefined;
            transaction?: "none" | "required" | undefined;
        }, {
            name?: string | undefined;
            id?: string | undefined;
            sql?: string | undefined;
            sql_ref?: {
                sha256: string;
                size: number;
                content_type?: string | undefined;
            } | undefined;
            checksum?: string | undefined;
            transaction?: "none" | "required" | undefined;
        }>, {
            name?: string | undefined;
            id?: string | undefined;
            sql?: string | undefined;
            sql_ref?: {
                sha256: string;
                size: number;
                content_type?: string | undefined;
            } | undefined;
            checksum?: string | undefined;
            transaction?: "none" | "required" | undefined;
        }, {
            name?: string | undefined;
            id?: string | undefined;
            sql?: string | undefined;
            sql_ref?: {
                sha256: string;
                size: number;
                content_type?: string | undefined;
            } | undefined;
            checksum?: string | undefined;
            transaction?: "none" | "required" | undefined;
        }>, "many">>;
        expose: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        zero_downtime: z.ZodOptional<z.ZodBoolean>;
    }, "strict", z.ZodTypeAny, {
        migrations?: {
            name?: string | undefined;
            id?: string | undefined;
            sql?: string | undefined;
            sql_ref?: {
                sha256: string;
                size: number;
                content_type?: string | undefined;
            } | undefined;
            checksum?: string | undefined;
            transaction?: "none" | "required" | undefined;
        }[] | undefined;
        expose?: Record<string, unknown> | undefined;
        zero_downtime?: boolean | undefined;
    }, {
        migrations?: {
            name?: string | undefined;
            id?: string | undefined;
            sql?: string | undefined;
            sql_ref?: {
                sha256: string;
                size: number;
                content_type?: string | undefined;
            } | undefined;
            checksum?: string | undefined;
            transaction?: "none" | "required" | undefined;
        }[] | undefined;
        expose?: Record<string, unknown> | undefined;
        zero_downtime?: boolean | undefined;
    }>>;
    secrets: z.ZodOptional<z.ZodObject<{
        require: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        delete: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strict", z.ZodTypeAny, {
        require?: string[] | undefined;
        delete?: string[] | undefined;
    }, {
        require?: string[] | undefined;
        delete?: string[] | undefined;
    }>>;
    functions: z.ZodOptional<z.ZodObject<{
        replace: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
            runtime: z.ZodOptional<z.ZodLiteral<"node22">>;
            source: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
                data: z.ZodString;
                encoding: z.ZodOptional<z.ZodEnum<["utf-8", "base64"]>>;
                content_type: z.ZodOptional<z.ZodString>;
            }, "strict", z.ZodTypeAny, {
                data: string;
                encoding?: "utf-8" | "base64" | undefined;
                content_type?: string | undefined;
            }, {
                data: string;
                encoding?: "utf-8" | "base64" | undefined;
                content_type?: string | undefined;
            }>]>>;
            files: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodObject<{
                data: z.ZodString;
                encoding: z.ZodOptional<z.ZodEnum<["utf-8", "base64"]>>;
                content_type: z.ZodOptional<z.ZodString>;
            }, "strict", z.ZodTypeAny, {
                data: string;
                encoding?: "utf-8" | "base64" | undefined;
                content_type?: string | undefined;
            }, {
                data: string;
                encoding?: "utf-8" | "base64" | undefined;
                content_type?: string | undefined;
            }>]>>>;
            entrypoint: z.ZodOptional<z.ZodString>;
            config: z.ZodOptional<z.ZodObject<{
                timeoutSeconds: z.ZodOptional<z.ZodNumber>;
                memoryMb: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                timeoutSeconds?: number | undefined;
                memoryMb?: number | undefined;
            }, {
                timeoutSeconds?: number | undefined;
                memoryMb?: number | undefined;
            }>>;
            schedule: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        }, "strict", z.ZodTypeAny, {
            source?: string | {
                data: string;
                encoding?: "utf-8" | "base64" | undefined;
                content_type?: string | undefined;
            } | undefined;
            runtime?: "node22" | undefined;
            files?: Record<string, string | {
                data: string;
                encoding?: "utf-8" | "base64" | undefined;
                content_type?: string | undefined;
            }> | undefined;
            entrypoint?: string | undefined;
            config?: {
                timeoutSeconds?: number | undefined;
                memoryMb?: number | undefined;
            } | undefined;
            schedule?: string | null | undefined;
        }, {
            source?: string | {
                data: string;
                encoding?: "utf-8" | "base64" | undefined;
                content_type?: string | undefined;
            } | undefined;
            runtime?: "node22" | undefined;
            files?: Record<string, string | {
                data: string;
                encoding?: "utf-8" | "base64" | undefined;
                content_type?: string | undefined;
            }> | undefined;
            entrypoint?: string | undefined;
            config?: {
                timeoutSeconds?: number | undefined;
                memoryMb?: number | undefined;
            } | undefined;
            schedule?: string | null | undefined;
        }>>>;
        patch: z.ZodOptional<z.ZodObject<{
            set: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
                runtime: z.ZodOptional<z.ZodLiteral<"node22">>;
                source: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
                    data: z.ZodString;
                    encoding: z.ZodOptional<z.ZodEnum<["utf-8", "base64"]>>;
                    content_type: z.ZodOptional<z.ZodString>;
                }, "strict", z.ZodTypeAny, {
                    data: string;
                    encoding?: "utf-8" | "base64" | undefined;
                    content_type?: string | undefined;
                }, {
                    data: string;
                    encoding?: "utf-8" | "base64" | undefined;
                    content_type?: string | undefined;
                }>]>>;
                files: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodObject<{
                    data: z.ZodString;
                    encoding: z.ZodOptional<z.ZodEnum<["utf-8", "base64"]>>;
                    content_type: z.ZodOptional<z.ZodString>;
                }, "strict", z.ZodTypeAny, {
                    data: string;
                    encoding?: "utf-8" | "base64" | undefined;
                    content_type?: string | undefined;
                }, {
                    data: string;
                    encoding?: "utf-8" | "base64" | undefined;
                    content_type?: string | undefined;
                }>]>>>;
                entrypoint: z.ZodOptional<z.ZodString>;
                config: z.ZodOptional<z.ZodObject<{
                    timeoutSeconds: z.ZodOptional<z.ZodNumber>;
                    memoryMb: z.ZodOptional<z.ZodNumber>;
                }, "strip", z.ZodTypeAny, {
                    timeoutSeconds?: number | undefined;
                    memoryMb?: number | undefined;
                }, {
                    timeoutSeconds?: number | undefined;
                    memoryMb?: number | undefined;
                }>>;
                schedule: z.ZodOptional<z.ZodNullable<z.ZodString>>;
            }, "strict", z.ZodTypeAny, {
                source?: string | {
                    data: string;
                    encoding?: "utf-8" | "base64" | undefined;
                    content_type?: string | undefined;
                } | undefined;
                runtime?: "node22" | undefined;
                files?: Record<string, string | {
                    data: string;
                    encoding?: "utf-8" | "base64" | undefined;
                    content_type?: string | undefined;
                }> | undefined;
                entrypoint?: string | undefined;
                config?: {
                    timeoutSeconds?: number | undefined;
                    memoryMb?: number | undefined;
                } | undefined;
                schedule?: string | null | undefined;
            }, {
                source?: string | {
                    data: string;
                    encoding?: "utf-8" | "base64" | undefined;
                    content_type?: string | undefined;
                } | undefined;
                runtime?: "node22" | undefined;
                files?: Record<string, string | {
                    data: string;
                    encoding?: "utf-8" | "base64" | undefined;
                    content_type?: string | undefined;
                }> | undefined;
                entrypoint?: string | undefined;
                config?: {
                    timeoutSeconds?: number | undefined;
                    memoryMb?: number | undefined;
                } | undefined;
                schedule?: string | null | undefined;
            }>>>;
            delete: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        }, "strict", z.ZodTypeAny, {
            set?: Record<string, {
                source?: string | {
                    data: string;
                    encoding?: "utf-8" | "base64" | undefined;
                    content_type?: string | undefined;
                } | undefined;
                runtime?: "node22" | undefined;
                files?: Record<string, string | {
                    data: string;
                    encoding?: "utf-8" | "base64" | undefined;
                    content_type?: string | undefined;
                }> | undefined;
                entrypoint?: string | undefined;
                config?: {
                    timeoutSeconds?: number | undefined;
                    memoryMb?: number | undefined;
                } | undefined;
                schedule?: string | null | undefined;
            }> | undefined;
            delete?: string[] | undefined;
        }, {
            set?: Record<string, {
                source?: string | {
                    data: string;
                    encoding?: "utf-8" | "base64" | undefined;
                    content_type?: string | undefined;
                } | undefined;
                runtime?: "node22" | undefined;
                files?: Record<string, string | {
                    data: string;
                    encoding?: "utf-8" | "base64" | undefined;
                    content_type?: string | undefined;
                }> | undefined;
                entrypoint?: string | undefined;
                config?: {
                    timeoutSeconds?: number | undefined;
                    memoryMb?: number | undefined;
                } | undefined;
                schedule?: string | null | undefined;
            }> | undefined;
            delete?: string[] | undefined;
        }>>;
    }, "strict", z.ZodTypeAny, {
        replace?: Record<string, {
            source?: string | {
                data: string;
                encoding?: "utf-8" | "base64" | undefined;
                content_type?: string | undefined;
            } | undefined;
            runtime?: "node22" | undefined;
            files?: Record<string, string | {
                data: string;
                encoding?: "utf-8" | "base64" | undefined;
                content_type?: string | undefined;
            }> | undefined;
            entrypoint?: string | undefined;
            config?: {
                timeoutSeconds?: number | undefined;
                memoryMb?: number | undefined;
            } | undefined;
            schedule?: string | null | undefined;
        }> | undefined;
        patch?: {
            set?: Record<string, {
                source?: string | {
                    data: string;
                    encoding?: "utf-8" | "base64" | undefined;
                    content_type?: string | undefined;
                } | undefined;
                runtime?: "node22" | undefined;
                files?: Record<string, string | {
                    data: string;
                    encoding?: "utf-8" | "base64" | undefined;
                    content_type?: string | undefined;
                }> | undefined;
                entrypoint?: string | undefined;
                config?: {
                    timeoutSeconds?: number | undefined;
                    memoryMb?: number | undefined;
                } | undefined;
                schedule?: string | null | undefined;
            }> | undefined;
            delete?: string[] | undefined;
        } | undefined;
    }, {
        replace?: Record<string, {
            source?: string | {
                data: string;
                encoding?: "utf-8" | "base64" | undefined;
                content_type?: string | undefined;
            } | undefined;
            runtime?: "node22" | undefined;
            files?: Record<string, string | {
                data: string;
                encoding?: "utf-8" | "base64" | undefined;
                content_type?: string | undefined;
            }> | undefined;
            entrypoint?: string | undefined;
            config?: {
                timeoutSeconds?: number | undefined;
                memoryMb?: number | undefined;
            } | undefined;
            schedule?: string | null | undefined;
        }> | undefined;
        patch?: {
            set?: Record<string, {
                source?: string | {
                    data: string;
                    encoding?: "utf-8" | "base64" | undefined;
                    content_type?: string | undefined;
                } | undefined;
                runtime?: "node22" | undefined;
                files?: Record<string, string | {
                    data: string;
                    encoding?: "utf-8" | "base64" | undefined;
                    content_type?: string | undefined;
                }> | undefined;
                entrypoint?: string | undefined;
                config?: {
                    timeoutSeconds?: number | undefined;
                    memoryMb?: number | undefined;
                } | undefined;
                schedule?: string | null | undefined;
            }> | undefined;
            delete?: string[] | undefined;
        } | undefined;
    }>>;
    site: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
        replace: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodObject<{
            data: z.ZodString;
            encoding: z.ZodOptional<z.ZodEnum<["utf-8", "base64"]>>;
            content_type: z.ZodOptional<z.ZodString>;
        }, "strict", z.ZodTypeAny, {
            data: string;
            encoding?: "utf-8" | "base64" | undefined;
            content_type?: string | undefined;
        }, {
            data: string;
            encoding?: "utf-8" | "base64" | undefined;
            content_type?: string | undefined;
        }>]>>;
        public_paths: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            mode: z.ZodLiteral<"implicit">;
        }, "strict", z.ZodTypeAny, {
            mode: "implicit";
        }, {
            mode: "implicit";
        }>, z.ZodObject<{
            mode: z.ZodLiteral<"explicit">;
            replace: z.ZodRecord<z.ZodString, z.ZodObject<{
                asset: z.ZodString;
                cache_class: z.ZodOptional<z.ZodString>;
            }, "strict", z.ZodTypeAny, {
                asset: string;
                cache_class?: string | undefined;
            }, {
                asset: string;
                cache_class?: string | undefined;
            }>>;
        }, "strict", z.ZodTypeAny, {
            mode: "explicit";
            replace: Record<string, {
                asset: string;
                cache_class?: string | undefined;
            }>;
        }, {
            mode: "explicit";
            replace: Record<string, {
                asset: string;
                cache_class?: string | undefined;
            }>;
        }>]>>;
        embedding: z.ZodOptional<z.ZodNullable<z.ZodObject<{
            frame_ancestors: z.ZodArray<z.ZodString, "many">;
        }, "strict", z.ZodTypeAny, {
            frame_ancestors: string[];
        }, {
            frame_ancestors: string[];
        }>>>;
        sign_in_path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        noindex: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
    }, "strict", z.ZodTypeAny, {
        replace: Record<string, string | {
            data: string;
            encoding?: "utf-8" | "base64" | undefined;
            content_type?: string | undefined;
        }>;
        public_paths?: {
            mode: "implicit";
        } | {
            mode: "explicit";
            replace: Record<string, {
                asset: string;
                cache_class?: string | undefined;
            }>;
        } | undefined;
        embedding?: {
            frame_ancestors: string[];
        } | null | undefined;
        sign_in_path?: string | null | undefined;
        noindex?: boolean | null | undefined;
    }, {
        replace: Record<string, string | {
            data: string;
            encoding?: "utf-8" | "base64" | undefined;
            content_type?: string | undefined;
        }>;
        public_paths?: {
            mode: "implicit";
        } | {
            mode: "explicit";
            replace: Record<string, {
                asset: string;
                cache_class?: string | undefined;
            }>;
        } | undefined;
        embedding?: {
            frame_ancestors: string[];
        } | null | undefined;
        sign_in_path?: string | null | undefined;
        noindex?: boolean | null | undefined;
    }>, z.ZodObject<{
        patch: z.ZodObject<{
            put: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodObject<{
                data: z.ZodString;
                encoding: z.ZodOptional<z.ZodEnum<["utf-8", "base64"]>>;
                content_type: z.ZodOptional<z.ZodString>;
            }, "strict", z.ZodTypeAny, {
                data: string;
                encoding?: "utf-8" | "base64" | undefined;
                content_type?: string | undefined;
            }, {
                data: string;
                encoding?: "utf-8" | "base64" | undefined;
                content_type?: string | undefined;
            }>]>>>;
            delete: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        }, "strict", z.ZodTypeAny, {
            delete?: string[] | undefined;
            put?: Record<string, string | {
                data: string;
                encoding?: "utf-8" | "base64" | undefined;
                content_type?: string | undefined;
            }> | undefined;
        }, {
            delete?: string[] | undefined;
            put?: Record<string, string | {
                data: string;
                encoding?: "utf-8" | "base64" | undefined;
                content_type?: string | undefined;
            }> | undefined;
        }>;
        public_paths: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            mode: z.ZodLiteral<"implicit">;
        }, "strict", z.ZodTypeAny, {
            mode: "implicit";
        }, {
            mode: "implicit";
        }>, z.ZodObject<{
            mode: z.ZodLiteral<"explicit">;
            replace: z.ZodRecord<z.ZodString, z.ZodObject<{
                asset: z.ZodString;
                cache_class: z.ZodOptional<z.ZodString>;
            }, "strict", z.ZodTypeAny, {
                asset: string;
                cache_class?: string | undefined;
            }, {
                asset: string;
                cache_class?: string | undefined;
            }>>;
        }, "strict", z.ZodTypeAny, {
            mode: "explicit";
            replace: Record<string, {
                asset: string;
                cache_class?: string | undefined;
            }>;
        }, {
            mode: "explicit";
            replace: Record<string, {
                asset: string;
                cache_class?: string | undefined;
            }>;
        }>]>>;
        embedding: z.ZodOptional<z.ZodNullable<z.ZodObject<{
            frame_ancestors: z.ZodArray<z.ZodString, "many">;
        }, "strict", z.ZodTypeAny, {
            frame_ancestors: string[];
        }, {
            frame_ancestors: string[];
        }>>>;
        sign_in_path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        noindex: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
    }, "strict", z.ZodTypeAny, {
        patch: {
            delete?: string[] | undefined;
            put?: Record<string, string | {
                data: string;
                encoding?: "utf-8" | "base64" | undefined;
                content_type?: string | undefined;
            }> | undefined;
        };
        public_paths?: {
            mode: "implicit";
        } | {
            mode: "explicit";
            replace: Record<string, {
                asset: string;
                cache_class?: string | undefined;
            }>;
        } | undefined;
        embedding?: {
            frame_ancestors: string[];
        } | null | undefined;
        sign_in_path?: string | null | undefined;
        noindex?: boolean | null | undefined;
    }, {
        patch: {
            delete?: string[] | undefined;
            put?: Record<string, string | {
                data: string;
                encoding?: "utf-8" | "base64" | undefined;
                content_type?: string | undefined;
            }> | undefined;
        };
        public_paths?: {
            mode: "implicit";
        } | {
            mode: "explicit";
            replace: Record<string, {
                asset: string;
                cache_class?: string | undefined;
            }>;
        } | undefined;
        embedding?: {
            frame_ancestors: string[];
        } | null | undefined;
        sign_in_path?: string | null | undefined;
        noindex?: boolean | null | undefined;
    }>, z.ZodObject<{
        public_paths: z.ZodUnion<[z.ZodObject<{
            mode: z.ZodLiteral<"implicit">;
        }, "strict", z.ZodTypeAny, {
            mode: "implicit";
        }, {
            mode: "implicit";
        }>, z.ZodObject<{
            mode: z.ZodLiteral<"explicit">;
            replace: z.ZodRecord<z.ZodString, z.ZodObject<{
                asset: z.ZodString;
                cache_class: z.ZodOptional<z.ZodString>;
            }, "strict", z.ZodTypeAny, {
                asset: string;
                cache_class?: string | undefined;
            }, {
                asset: string;
                cache_class?: string | undefined;
            }>>;
        }, "strict", z.ZodTypeAny, {
            mode: "explicit";
            replace: Record<string, {
                asset: string;
                cache_class?: string | undefined;
            }>;
        }, {
            mode: "explicit";
            replace: Record<string, {
                asset: string;
                cache_class?: string | undefined;
            }>;
        }>]>;
        embedding: z.ZodOptional<z.ZodNullable<z.ZodObject<{
            frame_ancestors: z.ZodArray<z.ZodString, "many">;
        }, "strict", z.ZodTypeAny, {
            frame_ancestors: string[];
        }, {
            frame_ancestors: string[];
        }>>>;
        sign_in_path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        noindex: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
    }, "strict", z.ZodTypeAny, {
        public_paths: {
            mode: "implicit";
        } | {
            mode: "explicit";
            replace: Record<string, {
                asset: string;
                cache_class?: string | undefined;
            }>;
        };
        embedding?: {
            frame_ancestors: string[];
        } | null | undefined;
        sign_in_path?: string | null | undefined;
        noindex?: boolean | null | undefined;
    }, {
        public_paths: {
            mode: "implicit";
        } | {
            mode: "explicit";
            replace: Record<string, {
                asset: string;
                cache_class?: string | undefined;
            }>;
        };
        embedding?: {
            frame_ancestors: string[];
        } | null | undefined;
        sign_in_path?: string | null | undefined;
        noindex?: boolean | null | undefined;
    }>, z.ZodObject<{
        embedding: z.ZodNullable<z.ZodObject<{
            frame_ancestors: z.ZodArray<z.ZodString, "many">;
        }, "strict", z.ZodTypeAny, {
            frame_ancestors: string[];
        }, {
            frame_ancestors: string[];
        }>>;
        sign_in_path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        noindex: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
    }, "strict", z.ZodTypeAny, {
        embedding: {
            frame_ancestors: string[];
        } | null;
        sign_in_path?: string | null | undefined;
        noindex?: boolean | null | undefined;
    }, {
        embedding: {
            frame_ancestors: string[];
        } | null;
        sign_in_path?: string | null | undefined;
        noindex?: boolean | null | undefined;
    }>, z.ZodObject<{
        sign_in_path: z.ZodNullable<z.ZodString>;
        noindex: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
    }, "strict", z.ZodTypeAny, {
        sign_in_path: string | null;
        noindex?: boolean | null | undefined;
    }, {
        sign_in_path: string | null;
        noindex?: boolean | null | undefined;
    }>, z.ZodObject<{
        noindex: z.ZodNullable<z.ZodBoolean>;
    }, "strict", z.ZodTypeAny, {
        noindex: boolean | null;
    }, {
        noindex: boolean | null;
    }>]>>;
    assets: z.ZodOptional<z.ZodObject<{
        put: z.ZodOptional<z.ZodArray<z.ZodObject<{
            key: z.ZodString;
            source: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
                data: z.ZodString;
                encoding: z.ZodOptional<z.ZodEnum<["utf-8", "base64"]>>;
                content_type: z.ZodOptional<z.ZodString>;
            }, "strict", z.ZodTypeAny, {
                data: string;
                encoding?: "utf-8" | "base64" | undefined;
                content_type?: string | undefined;
            }, {
                data: string;
                encoding?: "utf-8" | "base64" | undefined;
                content_type?: string | undefined;
            }>]>>;
            sha256: z.ZodOptional<z.ZodString>;
            size_bytes: z.ZodOptional<z.ZodNumber>;
            content_type: z.ZodOptional<z.ZodString>;
            visibility: z.ZodOptional<z.ZodEnum<["public", "private"]>>;
            immutable: z.ZodOptional<z.ZodBoolean>;
        }, "strict", z.ZodTypeAny, {
            key: string;
            source?: string | {
                data: string;
                encoding?: "utf-8" | "base64" | undefined;
                content_type?: string | undefined;
            } | undefined;
            content_type?: string | undefined;
            sha256?: string | undefined;
            size_bytes?: number | undefined;
            visibility?: "public" | "private" | undefined;
            immutable?: boolean | undefined;
        }, {
            key: string;
            source?: string | {
                data: string;
                encoding?: "utf-8" | "base64" | undefined;
                content_type?: string | undefined;
            } | undefined;
            content_type?: string | undefined;
            sha256?: string | undefined;
            size_bytes?: number | undefined;
            visibility?: "public" | "private" | undefined;
            immutable?: boolean | undefined;
        }>, "many">>;
        delete: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        sync: z.ZodOptional<z.ZodObject<{
            prefix: z.ZodString;
            prune: z.ZodLiteral<true>;
            confirm: z.ZodOptional<z.ZodObject<{
                base_revision: z.ZodString;
                delete_set_digest: z.ZodString;
                expected_delete_count: z.ZodNumber;
            }, "strict", z.ZodTypeAny, {
                base_revision: string;
                delete_set_digest: string;
                expected_delete_count: number;
            }, {
                base_revision: string;
                delete_set_digest: string;
                expected_delete_count: number;
            }>>;
        }, "strict", z.ZodTypeAny, {
            prefix: string;
            prune: true;
            confirm?: {
                base_revision: string;
                delete_set_digest: string;
                expected_delete_count: number;
            } | undefined;
        }, {
            prefix: string;
            prune: true;
            confirm?: {
                base_revision: string;
                delete_set_digest: string;
                expected_delete_count: number;
            } | undefined;
        }>>;
    }, "strict", z.ZodTypeAny, {
        delete?: string[] | undefined;
        put?: {
            key: string;
            source?: string | {
                data: string;
                encoding?: "utf-8" | "base64" | undefined;
                content_type?: string | undefined;
            } | undefined;
            content_type?: string | undefined;
            sha256?: string | undefined;
            size_bytes?: number | undefined;
            visibility?: "public" | "private" | undefined;
            immutable?: boolean | undefined;
        }[] | undefined;
        sync?: {
            prefix: string;
            prune: true;
            confirm?: {
                base_revision: string;
                delete_set_digest: string;
                expected_delete_count: number;
            } | undefined;
        } | undefined;
    }, {
        delete?: string[] | undefined;
        put?: {
            key: string;
            source?: string | {
                data: string;
                encoding?: "utf-8" | "base64" | undefined;
                content_type?: string | undefined;
            } | undefined;
            content_type?: string | undefined;
            sha256?: string | undefined;
            size_bytes?: number | undefined;
            visibility?: "public" | "private" | undefined;
            immutable?: boolean | undefined;
        }[] | undefined;
        sync?: {
            prefix: string;
            prune: true;
            confirm?: {
                base_revision: string;
                delete_set_digest: string;
                expected_delete_count: number;
            } | undefined;
        } | undefined;
    }>>;
    subdomains: z.ZodOptional<z.ZodObject<{
        set: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        add: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        remove: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strict", z.ZodTypeAny, {
        set?: string[] | undefined;
        add?: string[] | undefined;
        remove?: string[] | undefined;
    }, {
        set?: string[] | undefined;
        add?: string[] | undefined;
        remove?: string[] | undefined;
    }>>;
    routes: z.ZodOptional<z.ZodUnion<[z.ZodNull, z.ZodObject<{
        replace: z.ZodArray<z.ZodObject<{
            pattern: z.ZodString;
            methods: z.ZodOptional<z.ZodArray<z.ZodEnum<["GET" | "HEAD" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS", ...("GET" | "HEAD" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS")[]]>, "many">>;
            target: z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"function">;
                name: z.ZodString;
            }, "strict", z.ZodTypeAny, {
                type: "function";
                name: string;
            }, {
                type: "function";
                name: string;
            }>, z.ZodObject<{
                type: z.ZodLiteral<"static">;
                file: z.ZodString;
            }, "strict", z.ZodTypeAny, {
                type: "static";
                file: string;
            }, {
                type: "static";
                file: string;
            }>]>;
        }, "strict", z.ZodTypeAny, {
            pattern: string;
            target: {
                type: "function";
                name: string;
            } | {
                type: "static";
                file: string;
            };
            methods?: ("GET" | "HEAD" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS")[] | undefined;
        }, {
            pattern: string;
            target: {
                type: "function";
                name: string;
            } | {
                type: "static";
                file: string;
            };
            methods?: ("GET" | "HEAD" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS")[] | undefined;
        }>, "many">;
    }, "strict", z.ZodTypeAny, {
        replace: {
            pattern: string;
            target: {
                type: "function";
                name: string;
            } | {
                type: "static";
                file: string;
            };
            methods?: ("GET" | "HEAD" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS")[] | undefined;
        }[];
    }, {
        replace: {
            pattern: string;
            target: {
                type: "function";
                name: string;
            } | {
                type: "static";
                file: string;
            };
            methods?: ("GET" | "HEAD" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS")[] | undefined;
        }[];
    }>]>>;
    i18n: z.ZodOptional<z.ZodUnion<[z.ZodNull, z.ZodObject<{
        defaultLocale: z.ZodString;
        locales: z.ZodArray<z.ZodString, "many">;
        detect: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strict", z.ZodTypeAny, {
        defaultLocale: string;
        locales: string[];
        detect?: string[] | undefined;
    }, {
        defaultLocale: string;
        locales: string[];
        detect?: string[] | undefined;
    }>]>>;
    idempotency_key: z.ZodOptional<z.ZodString>;
    allow_warnings: z.ZodOptional<z.ZodBoolean>;
    allow_warning_codes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
};
type FileMapInput = z.infer<typeof fileMap>;
type FunctionSpecInput = z.infer<typeof functionSpec>;
type DeployArgs = {
    project_id: string;
    base?: ReleaseSpec["base"];
    database?: {
        migrations?: Array<z.infer<typeof migrationEntry>>;
        expose?: Record<string, unknown>;
        zero_downtime?: boolean;
    };
    secrets?: ReleaseSpec["secrets"];
    functions?: {
        replace?: Record<string, FunctionSpecInput>;
        patch?: {
            set?: Record<string, FunctionSpecInput>;
            delete?: string[];
        };
    };
    site?: {
        replace: FileMapInput;
        public_paths?: SitePublicPathsSpec;
        embedding?: SiteEmbeddingSpec | null;
        sign_in_path?: string | null;
        noindex?: boolean | null;
    } | {
        patch: {
            put?: FileMapInput;
            delete?: string[];
        };
        public_paths?: SitePublicPathsSpec;
        embedding?: SiteEmbeddingSpec | null;
        sign_in_path?: string | null;
        noindex?: boolean | null;
    } | {
        public_paths: SitePublicPathsSpec;
        embedding?: SiteEmbeddingSpec | null;
        sign_in_path?: string | null;
        noindex?: boolean | null;
    } | {
        embedding: SiteEmbeddingSpec | null;
        sign_in_path?: string | null;
        noindex?: boolean | null;
    } | {
        sign_in_path: string | null;
        noindex?: boolean | null;
    } | {
        noindex: boolean | null;
    };
    assets?: {
        put?: Array<{
            key: string;
            source?: z.infer<typeof fileEntry>;
            sha256?: string;
            size_bytes?: number;
            content_type?: string;
            visibility?: "public" | "private";
            immutable?: boolean;
        }>;
        delete?: string[];
        sync?: {
            prefix: string;
            prune: true;
            confirm?: {
                base_revision: string;
                delete_set_digest: string;
                expected_delete_count: number;
            };
        };
    };
    subdomains?: ReleaseSpec["subdomains"];
    routes?: ReleaseSpec["routes"];
    i18n?: null | {
        defaultLocale: string;
        locales: string[];
        detect?: string[];
    };
    idempotency_key?: string;
    allow_warnings?: boolean;
    allow_warning_codes?: string[];
};
export declare function handleDeploy(args: DeployArgs): Promise<ToolResult>;
export {};
//# sourceMappingURL=deploy.d.ts.map