import { z } from "zod";
export declare const LLMConfigSchema: z.ZodObject<{
    provider: z.ZodEnum<["anthropic", "openai", "custom"]>;
    service: z.ZodDefault<z.ZodString>;
    configSource: z.ZodDefault<z.ZodEnum<["env", "studio"]>>;
    baseUrl: z.ZodString;
    apiKey: z.ZodDefault<z.ZodString>;
    model: z.ZodString;
    proxyUrl: z.ZodOptional<z.ZodString>;
    temperature: z.ZodDefault<z.ZodNumber>;
    thinkingBudget: z.ZodDefault<z.ZodNumber>;
    extra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    apiFormat: z.ZodDefault<z.ZodEnum<["chat", "responses"]>>;
    stream: z.ZodDefault<z.ZodBoolean>;
    services: z.ZodOptional<z.ZodArray<z.ZodObject<{
        service: z.ZodString;
        name: z.ZodOptional<z.ZodString>;
        baseUrl: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        apiFormat: z.ZodOptional<z.ZodEnum<["chat", "responses"]>>;
        stream: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        service: string;
        name?: string | undefined;
        baseUrl?: string | undefined;
        temperature?: number | undefined;
        apiFormat?: "chat" | "responses" | undefined;
        stream?: boolean | undefined;
    }, {
        service: string;
        name?: string | undefined;
        baseUrl?: string | undefined;
        temperature?: number | undefined;
        apiFormat?: "chat" | "responses" | undefined;
        stream?: boolean | undefined;
    }>, "many">>;
    defaultModel: z.ZodOptional<z.ZodString>;
    cover: z.ZodOptional<z.ZodObject<{
        service: z.ZodEnum<["kkaiapi", "openai", "google"]>;
        model: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        service: "kkaiapi" | "openai" | "google";
        model: string;
    }, {
        service: "kkaiapi" | "openai" | "google";
        model: string;
    }>>;
}, "strip", z.ZodTypeAny, {
    service: string;
    baseUrl: string;
    temperature: number;
    apiFormat: "chat" | "responses";
    stream: boolean;
    model: string;
    provider: "custom" | "openai" | "anthropic";
    configSource: "env" | "studio";
    apiKey: string;
    thinkingBudget: number;
    proxyUrl?: string | undefined;
    extra?: Record<string, unknown> | undefined;
    headers?: Record<string, string> | undefined;
    services?: {
        service: string;
        name?: string | undefined;
        baseUrl?: string | undefined;
        temperature?: number | undefined;
        apiFormat?: "chat" | "responses" | undefined;
        stream?: boolean | undefined;
    }[] | undefined;
    defaultModel?: string | undefined;
    cover?: {
        service: "kkaiapi" | "openai" | "google";
        model: string;
    } | undefined;
}, {
    baseUrl: string;
    model: string;
    provider: "custom" | "openai" | "anthropic";
    service?: string | undefined;
    temperature?: number | undefined;
    apiFormat?: "chat" | "responses" | undefined;
    stream?: boolean | undefined;
    configSource?: "env" | "studio" | undefined;
    apiKey?: string | undefined;
    proxyUrl?: string | undefined;
    thinkingBudget?: number | undefined;
    extra?: Record<string, unknown> | undefined;
    headers?: Record<string, string> | undefined;
    services?: {
        service: string;
        name?: string | undefined;
        baseUrl?: string | undefined;
        temperature?: number | undefined;
        apiFormat?: "chat" | "responses" | undefined;
        stream?: boolean | undefined;
    }[] | undefined;
    defaultModel?: string | undefined;
    cover?: {
        service: "kkaiapi" | "openai" | "google";
        model: string;
    } | undefined;
}>;
export type LLMConfig = z.infer<typeof LLMConfigSchema>;
export declare const NotifyChannelSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
    type: z.ZodLiteral<"telegram">;
    botToken: z.ZodString;
    chatId: z.ZodString;
}, "strip", z.ZodTypeAny, {
    type: "telegram";
    botToken: string;
    chatId: string;
}, {
    type: "telegram";
    botToken: string;
    chatId: string;
}>, z.ZodObject<{
    type: z.ZodLiteral<"wechat-work">;
    webhookUrl: z.ZodString;
}, "strip", z.ZodTypeAny, {
    type: "wechat-work";
    webhookUrl: string;
}, {
    type: "wechat-work";
    webhookUrl: string;
}>, z.ZodObject<{
    type: z.ZodLiteral<"feishu">;
    webhookUrl: z.ZodString;
}, "strip", z.ZodTypeAny, {
    type: "feishu";
    webhookUrl: string;
}, {
    type: "feishu";
    webhookUrl: string;
}>, z.ZodObject<{
    type: z.ZodLiteral<"webhook">;
    url: z.ZodString;
    secret: z.ZodOptional<z.ZodString>;
    events: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    type: "webhook";
    url: string;
    events: string[];
    secret?: string | undefined;
}, {
    type: "webhook";
    url: string;
    secret?: string | undefined;
    events?: string[] | undefined;
}>]>;
export type NotifyChannel = z.infer<typeof NotifyChannelSchema>;
export declare const DetectionConfigSchema: z.ZodObject<{
    provider: z.ZodDefault<z.ZodEnum<["gptzero", "originality", "custom", "local", "llm"]>>;
    apiUrl: z.ZodOptional<z.ZodString>;
    apiKeyEnv: z.ZodOptional<z.ZodString>;
    threshold: z.ZodDefault<z.ZodNumber>;
    enabled: z.ZodDefault<z.ZodBoolean>;
    autoRewrite: z.ZodDefault<z.ZodBoolean>;
    maxRetries: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    provider: "custom" | "gptzero" | "originality" | "local" | "llm";
    threshold: number;
    enabled: boolean;
    autoRewrite: boolean;
    maxRetries: number;
    apiUrl?: string | undefined;
    apiKeyEnv?: string | undefined;
}, {
    provider?: "custom" | "gptzero" | "originality" | "local" | "llm" | undefined;
    apiUrl?: string | undefined;
    apiKeyEnv?: string | undefined;
    threshold?: number | undefined;
    enabled?: boolean | undefined;
    autoRewrite?: boolean | undefined;
    maxRetries?: number | undefined;
}>;
export type DetectionConfig = z.infer<typeof DetectionConfigSchema>;
export declare const QualityGatesSchema: z.ZodObject<{
    maxAuditRetries: z.ZodDefault<z.ZodNumber>;
    pauseAfterConsecutiveFailures: z.ZodDefault<z.ZodNumber>;
    retryTemperatureStep: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    maxAuditRetries: number;
    pauseAfterConsecutiveFailures: number;
    retryTemperatureStep: number;
}, {
    maxAuditRetries?: number | undefined;
    pauseAfterConsecutiveFailures?: number | undefined;
    retryTemperatureStep?: number | undefined;
}>;
export type QualityGates = z.infer<typeof QualityGatesSchema>;
export declare const FoundationConfigSchema: z.ZodObject<{
    reviewRetries: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    reviewRetries: number;
}, {
    reviewRetries?: number | undefined;
}>;
export type FoundationConfig = z.infer<typeof FoundationConfigSchema>;
export declare const WritingConfigSchema: z.ZodObject<{
    reviewRetries: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    reviewRetries: number;
}, {
    reviewRetries?: number | undefined;
}>;
export type WritingConfig = z.infer<typeof WritingConfigSchema>;
export declare const AgentLLMOverrideSchema: z.ZodObject<{
    model: z.ZodString;
    provider: z.ZodOptional<z.ZodEnum<["anthropic", "openai", "custom"]>>;
    baseUrl: z.ZodOptional<z.ZodString>;
    apiKeyEnv: z.ZodOptional<z.ZodString>;
    stream: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    model: string;
    baseUrl?: string | undefined;
    stream?: boolean | undefined;
    provider?: "custom" | "openai" | "anthropic" | undefined;
    apiKeyEnv?: string | undefined;
}, {
    model: string;
    baseUrl?: string | undefined;
    stream?: boolean | undefined;
    provider?: "custom" | "openai" | "anthropic" | undefined;
    apiKeyEnv?: string | undefined;
}>;
export type AgentLLMOverride = z.infer<typeof AgentLLMOverrideSchema>;
export declare const InputGovernanceModeSchema: z.ZodEnum<["legacy", "v2"]>;
export type InputGovernanceMode = z.infer<typeof InputGovernanceModeSchema>;
export declare const ProjectConfigSchema: z.ZodObject<{
    name: z.ZodString;
    version: z.ZodLiteral<"0.1.0">;
    language: z.ZodDefault<z.ZodEnum<["zh", "en"]>>;
    llm: z.ZodObject<{
        provider: z.ZodEnum<["anthropic", "openai", "custom"]>;
        service: z.ZodDefault<z.ZodString>;
        configSource: z.ZodDefault<z.ZodEnum<["env", "studio"]>>;
        baseUrl: z.ZodString;
        apiKey: z.ZodDefault<z.ZodString>;
        model: z.ZodString;
        proxyUrl: z.ZodOptional<z.ZodString>;
        temperature: z.ZodDefault<z.ZodNumber>;
        thinkingBudget: z.ZodDefault<z.ZodNumber>;
        extra: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        apiFormat: z.ZodDefault<z.ZodEnum<["chat", "responses"]>>;
        stream: z.ZodDefault<z.ZodBoolean>;
        services: z.ZodOptional<z.ZodArray<z.ZodObject<{
            service: z.ZodString;
            name: z.ZodOptional<z.ZodString>;
            baseUrl: z.ZodOptional<z.ZodString>;
            temperature: z.ZodOptional<z.ZodNumber>;
            apiFormat: z.ZodOptional<z.ZodEnum<["chat", "responses"]>>;
            stream: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            service: string;
            name?: string | undefined;
            baseUrl?: string | undefined;
            temperature?: number | undefined;
            apiFormat?: "chat" | "responses" | undefined;
            stream?: boolean | undefined;
        }, {
            service: string;
            name?: string | undefined;
            baseUrl?: string | undefined;
            temperature?: number | undefined;
            apiFormat?: "chat" | "responses" | undefined;
            stream?: boolean | undefined;
        }>, "many">>;
        defaultModel: z.ZodOptional<z.ZodString>;
        cover: z.ZodOptional<z.ZodObject<{
            service: z.ZodEnum<["kkaiapi", "openai", "google"]>;
            model: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            service: "kkaiapi" | "openai" | "google";
            model: string;
        }, {
            service: "kkaiapi" | "openai" | "google";
            model: string;
        }>>;
    }, "strip", z.ZodTypeAny, {
        service: string;
        baseUrl: string;
        temperature: number;
        apiFormat: "chat" | "responses";
        stream: boolean;
        model: string;
        provider: "custom" | "openai" | "anthropic";
        configSource: "env" | "studio";
        apiKey: string;
        thinkingBudget: number;
        proxyUrl?: string | undefined;
        extra?: Record<string, unknown> | undefined;
        headers?: Record<string, string> | undefined;
        services?: {
            service: string;
            name?: string | undefined;
            baseUrl?: string | undefined;
            temperature?: number | undefined;
            apiFormat?: "chat" | "responses" | undefined;
            stream?: boolean | undefined;
        }[] | undefined;
        defaultModel?: string | undefined;
        cover?: {
            service: "kkaiapi" | "openai" | "google";
            model: string;
        } | undefined;
    }, {
        baseUrl: string;
        model: string;
        provider: "custom" | "openai" | "anthropic";
        service?: string | undefined;
        temperature?: number | undefined;
        apiFormat?: "chat" | "responses" | undefined;
        stream?: boolean | undefined;
        configSource?: "env" | "studio" | undefined;
        apiKey?: string | undefined;
        proxyUrl?: string | undefined;
        thinkingBudget?: number | undefined;
        extra?: Record<string, unknown> | undefined;
        headers?: Record<string, string> | undefined;
        services?: {
            service: string;
            name?: string | undefined;
            baseUrl?: string | undefined;
            temperature?: number | undefined;
            apiFormat?: "chat" | "responses" | undefined;
            stream?: boolean | undefined;
        }[] | undefined;
        defaultModel?: string | undefined;
        cover?: {
            service: "kkaiapi" | "openai" | "google";
            model: string;
        } | undefined;
    }>;
    notify: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
        type: z.ZodLiteral<"telegram">;
        botToken: z.ZodString;
        chatId: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: "telegram";
        botToken: string;
        chatId: string;
    }, {
        type: "telegram";
        botToken: string;
        chatId: string;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"wechat-work">;
        webhookUrl: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: "wechat-work";
        webhookUrl: string;
    }, {
        type: "wechat-work";
        webhookUrl: string;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"feishu">;
        webhookUrl: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: "feishu";
        webhookUrl: string;
    }, {
        type: "feishu";
        webhookUrl: string;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"webhook">;
        url: z.ZodString;
        secret: z.ZodOptional<z.ZodString>;
        events: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        type: "webhook";
        url: string;
        events: string[];
        secret?: string | undefined;
    }, {
        type: "webhook";
        url: string;
        secret?: string | undefined;
        events?: string[] | undefined;
    }>]>, "many">>;
    detection: z.ZodOptional<z.ZodObject<{
        provider: z.ZodDefault<z.ZodEnum<["gptzero", "originality", "custom", "local", "llm"]>>;
        apiUrl: z.ZodOptional<z.ZodString>;
        apiKeyEnv: z.ZodOptional<z.ZodString>;
        threshold: z.ZodDefault<z.ZodNumber>;
        enabled: z.ZodDefault<z.ZodBoolean>;
        autoRewrite: z.ZodDefault<z.ZodBoolean>;
        maxRetries: z.ZodDefault<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        provider: "custom" | "gptzero" | "originality" | "local" | "llm";
        threshold: number;
        enabled: boolean;
        autoRewrite: boolean;
        maxRetries: number;
        apiUrl?: string | undefined;
        apiKeyEnv?: string | undefined;
    }, {
        provider?: "custom" | "gptzero" | "originality" | "local" | "llm" | undefined;
        apiUrl?: string | undefined;
        apiKeyEnv?: string | undefined;
        threshold?: number | undefined;
        enabled?: boolean | undefined;
        autoRewrite?: boolean | undefined;
        maxRetries?: number | undefined;
    }>>;
    foundation: z.ZodDefault<z.ZodObject<{
        reviewRetries: z.ZodDefault<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        reviewRetries: number;
    }, {
        reviewRetries?: number | undefined;
    }>>;
    writing: z.ZodDefault<z.ZodObject<{
        reviewRetries: z.ZodDefault<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        reviewRetries: number;
    }, {
        reviewRetries?: number | undefined;
    }>>;
    modelOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodObject<{
        model: z.ZodString;
        provider: z.ZodOptional<z.ZodEnum<["anthropic", "openai", "custom"]>>;
        baseUrl: z.ZodOptional<z.ZodString>;
        apiKeyEnv: z.ZodOptional<z.ZodString>;
        stream: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        model: string;
        baseUrl?: string | undefined;
        stream?: boolean | undefined;
        provider?: "custom" | "openai" | "anthropic" | undefined;
        apiKeyEnv?: string | undefined;
    }, {
        model: string;
        baseUrl?: string | undefined;
        stream?: boolean | undefined;
        provider?: "custom" | "openai" | "anthropic" | undefined;
        apiKeyEnv?: string | undefined;
    }>]>>>;
    inputGovernanceMode: z.ZodDefault<z.ZodEnum<["legacy", "v2"]>>;
    daemon: z.ZodDefault<z.ZodObject<{
        schedule: z.ZodObject<{
            radarCron: z.ZodDefault<z.ZodString>;
            writeCron: z.ZodDefault<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            radarCron: string;
            writeCron: string;
        }, {
            radarCron?: string | undefined;
            writeCron?: string | undefined;
        }>;
        maxConcurrentBooks: z.ZodDefault<z.ZodNumber>;
        chaptersPerCycle: z.ZodDefault<z.ZodNumber>;
        retryDelayMs: z.ZodDefault<z.ZodNumber>;
        cooldownAfterChapterMs: z.ZodDefault<z.ZodNumber>;
        maxChaptersPerDay: z.ZodDefault<z.ZodNumber>;
        qualityGates: z.ZodDefault<z.ZodObject<{
            maxAuditRetries: z.ZodDefault<z.ZodNumber>;
            pauseAfterConsecutiveFailures: z.ZodDefault<z.ZodNumber>;
            retryTemperatureStep: z.ZodDefault<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            maxAuditRetries: number;
            pauseAfterConsecutiveFailures: number;
            retryTemperatureStep: number;
        }, {
            maxAuditRetries?: number | undefined;
            pauseAfterConsecutiveFailures?: number | undefined;
            retryTemperatureStep?: number | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        schedule: {
            radarCron: string;
            writeCron: string;
        };
        maxConcurrentBooks: number;
        chaptersPerCycle: number;
        retryDelayMs: number;
        cooldownAfterChapterMs: number;
        maxChaptersPerDay: number;
        qualityGates: {
            maxAuditRetries: number;
            pauseAfterConsecutiveFailures: number;
            retryTemperatureStep: number;
        };
    }, {
        schedule: {
            radarCron?: string | undefined;
            writeCron?: string | undefined;
        };
        maxConcurrentBooks?: number | undefined;
        chaptersPerCycle?: number | undefined;
        retryDelayMs?: number | undefined;
        cooldownAfterChapterMs?: number | undefined;
        maxChaptersPerDay?: number | undefined;
        qualityGates?: {
            maxAuditRetries?: number | undefined;
            pauseAfterConsecutiveFailures?: number | undefined;
            retryTemperatureStep?: number | undefined;
        } | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    language: "zh" | "en";
    name: string;
    llm: {
        service: string;
        baseUrl: string;
        temperature: number;
        apiFormat: "chat" | "responses";
        stream: boolean;
        model: string;
        provider: "custom" | "openai" | "anthropic";
        configSource: "env" | "studio";
        apiKey: string;
        thinkingBudget: number;
        proxyUrl?: string | undefined;
        extra?: Record<string, unknown> | undefined;
        headers?: Record<string, string> | undefined;
        services?: {
            service: string;
            name?: string | undefined;
            baseUrl?: string | undefined;
            temperature?: number | undefined;
            apiFormat?: "chat" | "responses" | undefined;
            stream?: boolean | undefined;
        }[] | undefined;
        defaultModel?: string | undefined;
        cover?: {
            service: "kkaiapi" | "openai" | "google";
            model: string;
        } | undefined;
    };
    version: "0.1.0";
    notify: ({
        type: "telegram";
        botToken: string;
        chatId: string;
    } | {
        type: "wechat-work";
        webhookUrl: string;
    } | {
        type: "feishu";
        webhookUrl: string;
    } | {
        type: "webhook";
        url: string;
        events: string[];
        secret?: string | undefined;
    })[];
    foundation: {
        reviewRetries: number;
    };
    writing: {
        reviewRetries: number;
    };
    inputGovernanceMode: "legacy" | "v2";
    daemon: {
        schedule: {
            radarCron: string;
            writeCron: string;
        };
        maxConcurrentBooks: number;
        chaptersPerCycle: number;
        retryDelayMs: number;
        cooldownAfterChapterMs: number;
        maxChaptersPerDay: number;
        qualityGates: {
            maxAuditRetries: number;
            pauseAfterConsecutiveFailures: number;
            retryTemperatureStep: number;
        };
    };
    detection?: {
        provider: "custom" | "gptzero" | "originality" | "local" | "llm";
        threshold: number;
        enabled: boolean;
        autoRewrite: boolean;
        maxRetries: number;
        apiUrl?: string | undefined;
        apiKeyEnv?: string | undefined;
    } | undefined;
    modelOverrides?: Record<string, string | {
        model: string;
        baseUrl?: string | undefined;
        stream?: boolean | undefined;
        provider?: "custom" | "openai" | "anthropic" | undefined;
        apiKeyEnv?: string | undefined;
    }> | undefined;
}, {
    name: string;
    llm: {
        baseUrl: string;
        model: string;
        provider: "custom" | "openai" | "anthropic";
        service?: string | undefined;
        temperature?: number | undefined;
        apiFormat?: "chat" | "responses" | undefined;
        stream?: boolean | undefined;
        configSource?: "env" | "studio" | undefined;
        apiKey?: string | undefined;
        proxyUrl?: string | undefined;
        thinkingBudget?: number | undefined;
        extra?: Record<string, unknown> | undefined;
        headers?: Record<string, string> | undefined;
        services?: {
            service: string;
            name?: string | undefined;
            baseUrl?: string | undefined;
            temperature?: number | undefined;
            apiFormat?: "chat" | "responses" | undefined;
            stream?: boolean | undefined;
        }[] | undefined;
        defaultModel?: string | undefined;
        cover?: {
            service: "kkaiapi" | "openai" | "google";
            model: string;
        } | undefined;
    };
    version: "0.1.0";
    language?: "zh" | "en" | undefined;
    notify?: ({
        type: "telegram";
        botToken: string;
        chatId: string;
    } | {
        type: "wechat-work";
        webhookUrl: string;
    } | {
        type: "feishu";
        webhookUrl: string;
    } | {
        type: "webhook";
        url: string;
        secret?: string | undefined;
        events?: string[] | undefined;
    })[] | undefined;
    detection?: {
        provider?: "custom" | "gptzero" | "originality" | "local" | "llm" | undefined;
        apiUrl?: string | undefined;
        apiKeyEnv?: string | undefined;
        threshold?: number | undefined;
        enabled?: boolean | undefined;
        autoRewrite?: boolean | undefined;
        maxRetries?: number | undefined;
    } | undefined;
    foundation?: {
        reviewRetries?: number | undefined;
    } | undefined;
    writing?: {
        reviewRetries?: number | undefined;
    } | undefined;
    modelOverrides?: Record<string, string | {
        model: string;
        baseUrl?: string | undefined;
        stream?: boolean | undefined;
        provider?: "custom" | "openai" | "anthropic" | undefined;
        apiKeyEnv?: string | undefined;
    }> | undefined;
    inputGovernanceMode?: "legacy" | "v2" | undefined;
    daemon?: {
        schedule: {
            radarCron?: string | undefined;
            writeCron?: string | undefined;
        };
        maxConcurrentBooks?: number | undefined;
        chaptersPerCycle?: number | undefined;
        retryDelayMs?: number | undefined;
        cooldownAfterChapterMs?: number | undefined;
        maxChaptersPerDay?: number | undefined;
        qualityGates?: {
            maxAuditRetries?: number | undefined;
            pauseAfterConsecutiveFailures?: number | undefined;
            retryTemperatureStep?: number | undefined;
        } | undefined;
    } | undefined;
}>;
export type ProjectConfig = z.infer<typeof ProjectConfigSchema>;
//# sourceMappingURL=project.d.ts.map