import { z } from "zod";
import type { SupportedProvider } from "../../constants.js";
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
export declare const serverProvisionOutputSchema: z.ZodObject<{
    result: z.ZodObject<{
        success: z.ZodBoolean;
        message: z.ZodString;
        server: z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
            provider: z.ZodString;
            ip: z.ZodString;
            region: z.ZodString;
            size: z.ZodString;
            mode: z.ZodString;
            createdAt: z.ZodString;
        }, z.core.$strip>;
        hint: z.ZodOptional<z.ZodString>;
        suggested_actions: z.ZodArray<z.ZodObject<{
            command: z.ZodString;
            reason: z.ZodString;
        }, z.core.$strip>>;
    }, z.core.$strip>;
}, z.core.$strip>;
export type ServerProvisionOutput = z.infer<typeof serverProvisionOutputSchema>;
export declare const serverProvisionSchema: {
    provider: z.ZodOptional<z.ZodEnum<{
        hetzner: "hetzner";
        digitalocean: "digitalocean";
        vultr: "vultr";
        linode: "linode";
    }>>;
    region: z.ZodOptional<z.ZodString>;
    size: z.ZodOptional<z.ZodString>;
    name: z.ZodOptional<z.ZodString>;
    template: z.ZodDefault<z.ZodEnum<{
        starter: "starter";
        production: "production";
        dev: "dev";
    }>>;
    mode: z.ZodDefault<z.ZodEnum<{
        coolify: "coolify";
        dokploy: "dokploy";
        bare: "bare";
    }>>;
};
export declare function handleServerProvision(params: {
    provider?: SupportedProvider;
    region?: string;
    size?: string;
    name?: string;
    template?: "starter" | "production" | "dev";
    mode?: "coolify" | "dokploy" | "bare";
}, mcpServer?: McpServer): Promise<{
    content: Array<{
        type: "text";
        text: string;
    }>;
    isError?: boolean;
}>;
//# sourceMappingURL=serverProvision.d.ts.map