import { z } from 'zod';
export { Config, ConfigSchema };
declare const ConfigSchema: z.ZodDefault<z.ZodObject<{
    publicPath: z.ZodEffects<z.ZodEffects<z.ZodOptional<z.ZodString>, string, string>, string, string>;
    callbacks: z.ZodDefault<z.ZodObject<{
        trace: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodString], z.ZodUnknown>, z.ZodVoid>>;
        debug: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodString], z.ZodUnknown>, z.ZodVoid>>;
        info: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodString], z.ZodUnknown>, z.ZodVoid>>;
        warn: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodString], z.ZodUnknown>, z.ZodVoid>>;
        error: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodString], z.ZodUnknown>, z.ZodVoid>>;
        fatal: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodString], z.ZodUnknown>, z.ZodVoid>>;
        progress: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodString, z.ZodNumber, z.ZodNumber], z.ZodUnknown>, z.ZodVoid>>;
    }, "strip", z.ZodTypeAny, {
        trace?: (args_0: string, ...args_1: unknown[]) => void;
        debug?: (args_0: string, ...args_1: unknown[]) => void;
        info?: (args_0: string, ...args_1: unknown[]) => void;
        warn?: (args_0: string, ...args_1: unknown[]) => void;
        error?: (args_0: string, ...args_1: unknown[]) => void;
        fatal?: (args_0: string, ...args_1: unknown[]) => void;
        progress?: (args_0: string, args_1: number, args_2: number, ...args_3: unknown[]) => void;
    }, {
        trace?: (args_0: string, ...args_1: unknown[]) => void;
        debug?: (args_0: string, ...args_1: unknown[]) => void;
        info?: (args_0: string, ...args_1: unknown[]) => void;
        warn?: (args_0: string, ...args_1: unknown[]) => void;
        error?: (args_0: string, ...args_1: unknown[]) => void;
        fatal?: (args_0: string, ...args_1: unknown[]) => void;
        progress?: (args_0: string, args_1: number, args_2: number, ...args_3: unknown[]) => void;
    }>>;
    options: z.ZodDefault<z.ZodObject<{
        mode: z.ZodDefault<z.ZodEnum<["spline", "polygon", "none"]>>;
        clustering_mode: z.ZodDefault<z.ZodLiteral<"color">>;
        hierarchical: z.ZodDefault<z.ZodEnum<["stacked", "cutout"]>>;
        corner_threshold: z.ZodDefault<z.ZodNumber>;
        length_threshold: z.ZodDefault<z.ZodNumber>;
        max_iterations: z.ZodDefault<z.ZodNumber>;
        splice_threshold: z.ZodDefault<z.ZodNumber>;
        filter_speckle: z.ZodDefault<z.ZodNumber>;
        layer_difference: z.ZodDefault<z.ZodNumber>;
        path_precision: z.ZodDefault<z.ZodNumber>;
        color_precision: z.ZodDefault<z.ZodNumber>;
        color_threshold: z.ZodDefault<z.ZodNumber>;
        key_color: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
        discard_key_color: z.ZodDefault<z.ZodBoolean>;
        drop_background: z.ZodDefault<z.ZodBoolean>;
    }, "strict", z.ZodTypeAny, {
        mode?: "none" | "polygon" | "spline";
        clustering_mode?: "color";
        hierarchical?: "stacked" | "cutout";
        corner_threshold?: number;
        length_threshold?: number;
        max_iterations?: number;
        splice_threshold?: number;
        filter_speckle?: number;
        layer_difference?: number;
        path_precision?: number;
        color_precision?: number;
        color_threshold?: number;
        key_color?: [number, number, number, number, ...unknown[]];
        discard_key_color?: boolean;
        drop_background?: boolean;
    }, {
        mode?: "none" | "polygon" | "spline";
        clustering_mode?: "color";
        hierarchical?: "stacked" | "cutout";
        corner_threshold?: number;
        length_threshold?: number;
        max_iterations?: number;
        splice_threshold?: number;
        filter_speckle?: number;
        layer_difference?: number;
        path_precision?: number;
        color_precision?: number;
        color_threshold?: number;
        key_color?: [number, number, number, number, ...unknown[]];
        discard_key_color?: boolean;
        drop_background?: boolean;
    }>>;
}, "strict", z.ZodTypeAny, {
    publicPath?: string;
    callbacks?: {
        trace?: (args_0: string, ...args_1: unknown[]) => void;
        debug?: (args_0: string, ...args_1: unknown[]) => void;
        info?: (args_0: string, ...args_1: unknown[]) => void;
        warn?: (args_0: string, ...args_1: unknown[]) => void;
        error?: (args_0: string, ...args_1: unknown[]) => void;
        fatal?: (args_0: string, ...args_1: unknown[]) => void;
        progress?: (args_0: string, args_1: number, args_2: number, ...args_3: unknown[]) => void;
    };
    options?: {
        mode?: "none" | "polygon" | "spline";
        clustering_mode?: "color";
        hierarchical?: "stacked" | "cutout";
        corner_threshold?: number;
        length_threshold?: number;
        max_iterations?: number;
        splice_threshold?: number;
        filter_speckle?: number;
        layer_difference?: number;
        path_precision?: number;
        color_precision?: number;
        color_threshold?: number;
        key_color?: [number, number, number, number, ...unknown[]];
        discard_key_color?: boolean;
        drop_background?: boolean;
    };
}, {
    publicPath?: string;
    callbacks?: {
        trace?: (args_0: string, ...args_1: unknown[]) => void;
        debug?: (args_0: string, ...args_1: unknown[]) => void;
        info?: (args_0: string, ...args_1: unknown[]) => void;
        warn?: (args_0: string, ...args_1: unknown[]) => void;
        error?: (args_0: string, ...args_1: unknown[]) => void;
        fatal?: (args_0: string, ...args_1: unknown[]) => void;
        progress?: (args_0: string, args_1: number, args_2: number, ...args_3: unknown[]) => void;
    };
    options?: {
        mode?: "none" | "polygon" | "spline";
        clustering_mode?: "color";
        hierarchical?: "stacked" | "cutout";
        corner_threshold?: number;
        length_threshold?: number;
        max_iterations?: number;
        splice_threshold?: number;
        filter_speckle?: number;
        layer_difference?: number;
        path_precision?: number;
        color_precision?: number;
        color_threshold?: number;
        key_color?: [number, number, number, number, ...unknown[]];
        discard_key_color?: boolean;
        drop_background?: boolean;
    };
}>>;
type Config = z.infer<typeof ConfigSchema>;
