import { z } from "zod";
import { type McpResponse } from "../utils.js";
export declare const serverBackupSchema: {
    action: z.ZodEnum<{
        "backup-list": "backup-list";
        "snapshot-create": "snapshot-create";
        "snapshot-restore": "snapshot-restore";
        "backup-create": "backup-create";
        "backup-restore": "backup-restore";
        "snapshot-list": "snapshot-list";
        "snapshot-delete": "snapshot-delete";
    }>;
    server: z.ZodOptional<z.ZodString>;
    backupId: z.ZodOptional<z.ZodString>;
    snapshotId: z.ZodOptional<z.ZodString>;
};
export declare const serverBackupOutputSchema: z.ZodObject<{
    result: z.ZodDiscriminatedUnion<[z.ZodObject<{
        action: z.ZodLiteral<"backup-create">;
        success: z.ZodBoolean;
        server: z.ZodString;
        ip: z.ZodString;
        backupPath: z.ZodString;
        manifest: 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<"backup-list">;
        server: z.ZodString;
        backupCount: z.ZodNumber;
        backups: z.ZodArray<z.ZodObject<{
            backupId: z.ZodString;
            timestamp: z.ZodOptional<z.ZodString>;
            coolifyVersion: z.ZodOptional<z.ZodString>;
            files: z.ZodOptional<z.ZodNumber>;
            status: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        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<"backup-restore">;
        success: z.ZodBoolean;
        server: z.ZodString;
        ip: z.ZodString;
        backupId: z.ZodString;
        steps: z.ZodArray<z.ZodObject<{
            status: z.ZodString;
            message: 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.ZodObject<{
        action: z.ZodLiteral<"snapshot-create">;
        success: z.ZodBoolean;
        server: z.ZodString;
        ip: z.ZodString;
        snapshot: z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
            createdAt: z.ZodString;
        }, z.core.$strip>;
        costEstimate: 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<"snapshot-list">;
        server: z.ZodString;
        ip: z.ZodString;
        snapshotCount: z.ZodNumber;
        snapshots: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
            createdAt: z.ZodString;
        }, z.core.$strip>>;
        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<"snapshot-delete">;
        success: z.ZodBoolean;
        server: z.ZodString;
        ip: z.ZodString;
        snapshotId: z.ZodString;
        message: 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<"snapshot-restore">;
        success: z.ZodBoolean;
        server: z.ZodString;
        ip: z.ZodString;
        snapshotId: z.ZodString;
        message: z.ZodString;
        suggested_actions: z.ZodArray<z.ZodObject<{
            command: z.ZodString;
            reason: z.ZodString;
        }, z.core.$strip>>;
    }, z.core.$strip>], "action">;
}, z.core.$strip>;
export type ServerBackupOutput = z.infer<typeof serverBackupOutputSchema>;
type Action = z.infer<typeof serverBackupSchema.action>;
export declare function handleServerBackup(params: {
    action: Action;
    server?: string;
    backupId?: string;
    snapshotId?: string;
}): Promise<McpResponse>;
export {};
//# sourceMappingURL=serverBackup.d.ts.map