import { z } from "zod";
import type { ServerMode } from "../../types/index.js";
import type { SupportedProvider } from "../../constants.js";
export declare const serverInfoSchema: {
    action: z.ZodEnum<{
        list: "list";
        status: "status";
        health: "health";
        sizes: "sizes";
    }>;
    server: z.ZodOptional<z.ZodString>;
    provider: z.ZodOptional<z.ZodEnum<{
        hetzner: "hetzner";
        digitalocean: "digitalocean";
        vultr: "vultr";
        linode: "linode";
    }>>;
    region: z.ZodOptional<z.ZodString>;
    mode: z.ZodOptional<z.ZodEnum<{
        coolify: "coolify";
        bare: "bare";
    }>>;
};
export declare const serverInfoOutputSchema: z.ZodObject<{
    result: z.ZodDiscriminatedUnion<[z.ZodObject<{
        action: z.ZodLiteral<"list">;
        servers: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            ip: z.ZodString;
            provider: z.ZodString;
            region: z.ZodString;
            size: z.ZodString;
            id: z.ZodString;
            mode: z.ZodString;
            createdAt: z.ZodString;
        }, z.core.$strip>>;
        total: z.ZodNumber;
        message: z.ZodOptional<z.ZodString>;
        suggested_actions: z.ZodArray<z.ZodObject<{
            command: z.ZodString;
            reason: z.ZodString;
        }, z.core.$strip>>;
    }, z.core.$strip>, z.ZodObject<{
        action: z.ZodLiteral<"status">;
        results: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            ip: z.ZodString;
            provider: z.ZodString;
            region: z.ZodString;
            size: z.ZodString;
            mode: z.ZodString;
            serverStatus: z.ZodString;
            platformStatus: z.ZodString;
            error: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        summary: z.ZodObject<{
            total: z.ZodNumber;
            running: z.ZodNumber;
            notReachable: z.ZodNumber;
            errors: z.ZodNumber;
        }, z.core.$strip>;
        suggested_actions: z.ZodArray<z.ZodObject<{
            command: z.ZodString;
            reason: z.ZodString;
        }, z.core.$strip>>;
    }, z.core.$strip>, z.ZodObject<{
        action: z.ZodLiteral<"health">;
        results: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        summary: z.ZodObject<{
            total: z.ZodNumber;
            running: z.ZodNumber;
            notReachable: z.ZodNumber;
            bare: z.ZodNumber;
        }, z.core.$strip>;
        suggested_actions: z.ZodArray<z.ZodObject<{
            command: z.ZodString;
            reason: z.ZodString;
        }, z.core.$strip>>;
    }, z.core.$strip>, z.ZodObject<{
        action: z.ZodLiteral<"sizes">;
        provider: z.ZodString;
        region: z.ZodString;
        mode: z.ZodString;
        sizes: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
            vcpu: z.ZodNumber;
            ram: z.ZodString;
            disk: z.ZodString;
            price: z.ZodString;
        }, z.core.$strip>>;
        total: z.ZodNumber;
        suggested_actions: z.ZodArray<z.ZodObject<{
            command: z.ZodString;
            reason: z.ZodString;
        }, z.core.$strip>>;
    }, z.core.$strip>], "action">;
}, z.core.$strip>;
export type ServerInfoOutput = z.infer<typeof serverInfoOutputSchema>;
export declare function handleServerInfo(params: {
    action: "list" | "status" | "health" | "sizes";
    server?: string;
    provider?: SupportedProvider;
    region?: string;
    mode?: ServerMode;
}): Promise<{
    content: Array<{
        type: "text";
        text: string;
    }>;
    isError?: boolean;
}>;
//# sourceMappingURL=serverInfo.d.ts.map