import { z } from "zod";
import { type McpResponse } from "../utils.js";
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
export declare const serverAuditOutputSchema: z.ZodObject<{
    result: z.ZodDiscriminatedUnion<[z.ZodObject<{
        format: z.ZodLiteral<"summary">;
        server: z.ZodString;
        ip: z.ZodString;
        overallScore: z.ZodNumber;
        skippedCategories: z.ZodOptional<z.ZodArray<z.ZodString>>;
        suggested_actions: z.ZodOptional<z.ZodArray<z.ZodObject<{
            command: z.ZodString;
            reason: z.ZodString;
        }, z.core.$strip>>>;
    }, z.core.$strip>, z.ZodObject<{
        format: z.ZodLiteral<"json">;
        server: z.ZodString;
        ip: z.ZodString;
        overallScore: z.ZodNumber;
        categories: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            score: z.ZodNumber;
            maxScore: z.ZodNumber;
            checks: z.ZodOptional<z.ZodArray<z.ZodObject<{
                id: z.ZodString;
                name: z.ZodString;
                category: z.ZodString;
                severity: z.ZodString;
                passed: z.ZodOptional<z.ZodBoolean>;
                currentValue: z.ZodOptional<z.ZodString>;
                expectedValue: z.ZodOptional<z.ZodString>;
                details: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>>;
        }, z.core.$strip>>;
        checks: z.ZodOptional<z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            name: z.ZodString;
            category: z.ZodString;
            severity: z.ZodString;
            passed: z.ZodOptional<z.ZodBoolean>;
            currentValue: z.ZodOptional<z.ZodString>;
            expectedValue: z.ZodOptional<z.ZodString>;
            details: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        complianceDetail: z.ZodOptional<z.ZodArray<z.ZodObject<{
            framework: z.ZodString;
            passedControls: z.ZodNumber;
            totalControls: z.ZodNumber;
            passRate: z.ZodNumber;
            controls: z.ZodArray<z.ZodObject<{
                id: z.ZodString;
                description: z.ZodString;
                status: z.ZodString;
            }, z.core.$strip>>;
        }, z.core.$strip>>>;
        skippedCategories: z.ZodOptional<z.ZodArray<z.ZodString>>;
        baselineRegression: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    }, z.core.$strip>, z.ZodObject<{
        format: z.ZodLiteral<"score">;
        server: z.ZodString;
        ip: z.ZodString;
        overallScore: z.ZodNumber;
    }, z.core.$strip>], "format">;
}, z.core.$strip>;
export type ServerAuditOutput = z.infer<typeof serverAuditOutputSchema>;
export declare const serverAuditSchema: {
    server: z.ZodOptional<z.ZodString>;
    format: z.ZodDefault<z.ZodEnum<{
        json: "json";
        score: "score";
        summary: "summary";
    }>>;
    framework: z.ZodOptional<z.ZodEnum<{
        "cis-level1": "cis-level1";
        "cis-level2": "cis-level2";
        "pci-dss": "pci-dss";
        hipaa: "hipaa";
    }>>;
    explain: z.ZodOptional<z.ZodBoolean>;
    category: z.ZodOptional<z.ZodString>;
    severity: z.ZodOptional<z.ZodEnum<{
        critical: "critical";
        warning: "warning";
        info: "info";
    }>>;
    snapshot: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
    compare: z.ZodOptional<z.ZodString>;
    threshold: z.ZodOptional<z.ZodNumber>;
    profile: z.ZodOptional<z.ZodString>;
};
export declare function handleServerAudit(params: {
    server?: string;
    format?: "summary" | "json" | "score";
    framework?: "cis-level1" | "cis-level2" | "pci-dss" | "hipaa";
    explain?: boolean;
    category?: string;
    severity?: "critical" | "warning" | "info";
    snapshot?: boolean | string;
    compare?: string;
    threshold?: number;
    profile?: string;
}, mcpServer?: McpServer): Promise<McpResponse>;
//# sourceMappingURL=serverAudit.d.ts.map