import { z } from "zod";
export declare const PaneSchema: z.ZodType<unknown>;
export declare const LayoutSchema: z.ZodEffects<z.ZodObject<{
    type: z.ZodEnum<["horizontal", "vertical"]>;
    ratio: z.ZodArray<z.ZodNumber, "many">;
    panes: z.ZodArray<z.ZodType<unknown, z.ZodTypeDef, unknown>, "many">;
}, "strip", z.ZodTypeAny, {
    type: "horizontal" | "vertical";
    ratio: number[];
    panes: unknown[];
}, {
    type: "horizontal" | "vertical";
    ratio: number[];
    panes: unknown[];
}>, {
    type: "horizontal" | "vertical";
    ratio: number[];
    panes: unknown[];
}, {
    type: "horizontal" | "vertical";
    ratio: number[];
    panes: unknown[];
}>;
export declare const PresetSchema: z.ZodObject<{
    name: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    layout: z.ZodOptional<z.ZodEffects<z.ZodObject<{
        type: z.ZodEnum<["horizontal", "vertical"]>;
        ratio: z.ZodArray<z.ZodNumber, "many">;
        panes: z.ZodArray<z.ZodType<unknown, z.ZodTypeDef, unknown>, "many">;
    }, "strip", z.ZodTypeAny, {
        type: "horizontal" | "vertical";
        ratio: number[];
        panes: unknown[];
    }, {
        type: "horizontal" | "vertical";
        ratio: number[];
        panes: unknown[];
    }>, {
        type: "horizontal" | "vertical";
        ratio: number[];
        panes: unknown[];
    }, {
        type: "horizontal" | "vertical";
        ratio: number[];
        panes: unknown[];
    }>>;
    command: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    name: string;
    command?: string | undefined;
    description?: string | undefined;
    layout?: {
        type: "horizontal" | "vertical";
        ratio: number[];
        panes: unknown[];
    } | undefined;
}, {
    name: string;
    command?: string | undefined;
    description?: string | undefined;
    layout?: {
        type: "horizontal" | "vertical";
        ratio: number[];
        panes: unknown[];
    } | undefined;
}>;
export declare const ConfigSchema: z.ZodObject<{
    presets: z.ZodRecord<z.ZodString, z.ZodObject<{
        name: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        layout: z.ZodOptional<z.ZodEffects<z.ZodObject<{
            type: z.ZodEnum<["horizontal", "vertical"]>;
            ratio: z.ZodArray<z.ZodNumber, "many">;
            panes: z.ZodArray<z.ZodType<unknown, z.ZodTypeDef, unknown>, "many">;
        }, "strip", z.ZodTypeAny, {
            type: "horizontal" | "vertical";
            ratio: number[];
            panes: unknown[];
        }, {
            type: "horizontal" | "vertical";
            ratio: number[];
            panes: unknown[];
        }>, {
            type: "horizontal" | "vertical";
            ratio: number[];
            panes: unknown[];
        }, {
            type: "horizontal" | "vertical";
            ratio: number[];
            panes: unknown[];
        }>>;
        command: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        name: string;
        command?: string | undefined;
        description?: string | undefined;
        layout?: {
            type: "horizontal" | "vertical";
            ratio: number[];
            panes: unknown[];
        } | undefined;
    }, {
        name: string;
        command?: string | undefined;
        description?: string | undefined;
        layout?: {
            type: "horizontal" | "vertical";
            ratio: number[];
            panes: unknown[];
        } | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    presets: Record<string, {
        name: string;
        command?: string | undefined;
        description?: string | undefined;
        layout?: {
            type: "horizontal" | "vertical";
            ratio: number[];
            panes: unknown[];
        } | undefined;
    }>;
}, {
    presets: Record<string, {
        name: string;
        command?: string | undefined;
        description?: string | undefined;
        layout?: {
            type: "horizontal" | "vertical";
            ratio: number[];
            panes: unknown[];
        } | undefined;
    }>;
}>;
export interface ValidationResult<T> {
    success: boolean;
    data?: T;
    error?: string;
}
export declare function validateConfig(data: unknown): ValidationResult<z.infer<typeof ConfigSchema>>;
export declare function validatePreset(data: unknown): ValidationResult<z.infer<typeof PresetSchema>>;
export declare function validatePane(data: unknown): ValidationResult<z.infer<typeof PaneSchema>>;
//# sourceMappingURL=schema.d.ts.map