/**
 * Configuration Schema
 *
 * Zod schemas for validating configuration files
 *
 * @since v1.36.0 - Added refinement rules for path validation, API key formats
 */
import { z } from 'zod';
/**
 * Main application configuration schema
 */
export declare const PluginatorConfigSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodObject<{
    PLUGINATOR_DEBUG: z.ZodDefault<z.ZodUnion<[z.ZodLiteral<0>, z.ZodLiteral<1>]>>;
    PROD_SERVER_PATH: z.ZodDefault<z.ZodString>;
    TEST_SERVER_PATH: z.ZodDefault<z.ZodString>;
    BACKUP_DIR: z.ZodDefault<z.ZodString>;
    LOGS_DIR: z.ZodDefault<z.ZodString>;
    MAX_BACKUPS: z.ZodDefault<z.ZodNumber>;
    MAX_LOG_DAYS: z.ZodDefault<z.ZodNumber>;
    MINECRAFT_VERSION: z.ZodDefault<z.ZodString>;
    DEFAULT_LANGUAGE: z.ZodDefault<z.ZodString>;
    API_TIMEOUT: z.ZodDefault<z.ZodNumber>;
    DOWNLOAD_THREADS: z.ZodDefault<z.ZodNumber>;
    THEME: z.ZodDefault<z.ZodOptional<z.ZodString>>;
    SERVER_TYPE: z.ZodDefault<z.ZodEnum<["paper", "purpur"]>>;
    SERVER_JAR_DIR: z.ZodDefault<z.ZodString>;
    GITHUB_TOKEN: z.ZodOptional<z.ZodString>;
    CURSEFORGE_API_KEY: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    PLUGINATOR_DEBUG: 0 | 1;
    PROD_SERVER_PATH: string;
    TEST_SERVER_PATH: string;
    BACKUP_DIR: string;
    LOGS_DIR: string;
    MAX_BACKUPS: number;
    MAX_LOG_DAYS: number;
    MINECRAFT_VERSION: string;
    DEFAULT_LANGUAGE: string;
    API_TIMEOUT: number;
    DOWNLOAD_THREADS: number;
    THEME: string;
    SERVER_TYPE: "paper" | "purpur";
    SERVER_JAR_DIR: string;
    GITHUB_TOKEN?: string | undefined;
    CURSEFORGE_API_KEY?: string | undefined;
}, {
    PLUGINATOR_DEBUG?: 0 | 1 | undefined;
    PROD_SERVER_PATH?: string | undefined;
    TEST_SERVER_PATH?: string | undefined;
    BACKUP_DIR?: string | undefined;
    LOGS_DIR?: string | undefined;
    MAX_BACKUPS?: number | undefined;
    MAX_LOG_DAYS?: number | undefined;
    MINECRAFT_VERSION?: string | undefined;
    DEFAULT_LANGUAGE?: string | undefined;
    API_TIMEOUT?: number | undefined;
    DOWNLOAD_THREADS?: number | undefined;
    THEME?: string | undefined;
    SERVER_TYPE?: "paper" | "purpur" | undefined;
    SERVER_JAR_DIR?: string | undefined;
    GITHUB_TOKEN?: string | undefined;
    CURSEFORGE_API_KEY?: string | undefined;
}>, {
    PLUGINATOR_DEBUG: 0 | 1;
    PROD_SERVER_PATH: string;
    TEST_SERVER_PATH: string;
    BACKUP_DIR: string;
    LOGS_DIR: string;
    MAX_BACKUPS: number;
    MAX_LOG_DAYS: number;
    MINECRAFT_VERSION: string;
    DEFAULT_LANGUAGE: string;
    API_TIMEOUT: number;
    DOWNLOAD_THREADS: number;
    THEME: string;
    SERVER_TYPE: "paper" | "purpur";
    SERVER_JAR_DIR: string;
    GITHUB_TOKEN?: string | undefined;
    CURSEFORGE_API_KEY?: string | undefined;
}, {
    PLUGINATOR_DEBUG?: 0 | 1 | undefined;
    PROD_SERVER_PATH?: string | undefined;
    TEST_SERVER_PATH?: string | undefined;
    BACKUP_DIR?: string | undefined;
    LOGS_DIR?: string | undefined;
    MAX_BACKUPS?: number | undefined;
    MAX_LOG_DAYS?: number | undefined;
    MINECRAFT_VERSION?: string | undefined;
    DEFAULT_LANGUAGE?: string | undefined;
    API_TIMEOUT?: number | undefined;
    DOWNLOAD_THREADS?: number | undefined;
    THEME?: string | undefined;
    SERVER_TYPE?: "paper" | "purpur" | undefined;
    SERVER_JAR_DIR?: string | undefined;
    GITHUB_TOKEN?: string | undefined;
    CURSEFORGE_API_KEY?: string | undefined;
}>, {
    PLUGINATOR_DEBUG: 0 | 1;
    PROD_SERVER_PATH: string;
    TEST_SERVER_PATH: string;
    BACKUP_DIR: string;
    LOGS_DIR: string;
    MAX_BACKUPS: number;
    MAX_LOG_DAYS: number;
    MINECRAFT_VERSION: string;
    DEFAULT_LANGUAGE: string;
    API_TIMEOUT: number;
    DOWNLOAD_THREADS: number;
    THEME: string;
    SERVER_TYPE: "paper" | "purpur";
    SERVER_JAR_DIR: string;
    GITHUB_TOKEN?: string | undefined;
    CURSEFORGE_API_KEY?: string | undefined;
}, {
    PLUGINATOR_DEBUG?: 0 | 1 | undefined;
    PROD_SERVER_PATH?: string | undefined;
    TEST_SERVER_PATH?: string | undefined;
    BACKUP_DIR?: string | undefined;
    LOGS_DIR?: string | undefined;
    MAX_BACKUPS?: number | undefined;
    MAX_LOG_DAYS?: number | undefined;
    MINECRAFT_VERSION?: string | undefined;
    DEFAULT_LANGUAGE?: string | undefined;
    API_TIMEOUT?: number | undefined;
    DOWNLOAD_THREADS?: number | undefined;
    THEME?: string | undefined;
    SERVER_TYPE?: "paper" | "purpur" | undefined;
    SERVER_JAR_DIR?: string | undefined;
    GITHUB_TOKEN?: string | undefined;
    CURSEFORGE_API_KEY?: string | undefined;
}>, {
    PLUGINATOR_DEBUG: 0 | 1;
    PROD_SERVER_PATH: string;
    TEST_SERVER_PATH: string;
    BACKUP_DIR: string;
    LOGS_DIR: string;
    MAX_BACKUPS: number;
    MAX_LOG_DAYS: number;
    MINECRAFT_VERSION: string;
    DEFAULT_LANGUAGE: string;
    API_TIMEOUT: number;
    DOWNLOAD_THREADS: number;
    THEME: string;
    SERVER_TYPE: "paper" | "purpur";
    SERVER_JAR_DIR: string;
    GITHUB_TOKEN?: string | undefined;
    CURSEFORGE_API_KEY?: string | undefined;
}, {
    PLUGINATOR_DEBUG?: 0 | 1 | undefined;
    PROD_SERVER_PATH?: string | undefined;
    TEST_SERVER_PATH?: string | undefined;
    BACKUP_DIR?: string | undefined;
    LOGS_DIR?: string | undefined;
    MAX_BACKUPS?: number | undefined;
    MAX_LOG_DAYS?: number | undefined;
    MINECRAFT_VERSION?: string | undefined;
    DEFAULT_LANGUAGE?: string | undefined;
    API_TIMEOUT?: number | undefined;
    DOWNLOAD_THREADS?: number | undefined;
    THEME?: string | undefined;
    SERVER_TYPE?: "paper" | "purpur" | undefined;
    SERVER_JAR_DIR?: string | undefined;
    GITHUB_TOKEN?: string | undefined;
    CURSEFORGE_API_KEY?: string | undefined;
}>, {
    PLUGINATOR_DEBUG: 0 | 1;
    PROD_SERVER_PATH: string;
    TEST_SERVER_PATH: string;
    BACKUP_DIR: string;
    LOGS_DIR: string;
    MAX_BACKUPS: number;
    MAX_LOG_DAYS: number;
    MINECRAFT_VERSION: string;
    DEFAULT_LANGUAGE: string;
    API_TIMEOUT: number;
    DOWNLOAD_THREADS: number;
    THEME: string;
    SERVER_TYPE: "paper" | "purpur";
    SERVER_JAR_DIR: string;
    GITHUB_TOKEN?: string | undefined;
    CURSEFORGE_API_KEY?: string | undefined;
}, {
    PLUGINATOR_DEBUG?: 0 | 1 | undefined;
    PROD_SERVER_PATH?: string | undefined;
    TEST_SERVER_PATH?: string | undefined;
    BACKUP_DIR?: string | undefined;
    LOGS_DIR?: string | undefined;
    MAX_BACKUPS?: number | undefined;
    MAX_LOG_DAYS?: number | undefined;
    MINECRAFT_VERSION?: string | undefined;
    DEFAULT_LANGUAGE?: string | undefined;
    API_TIMEOUT?: number | undefined;
    DOWNLOAD_THREADS?: number | undefined;
    THEME?: string | undefined;
    SERVER_TYPE?: "paper" | "purpur" | undefined;
    SERVER_JAR_DIR?: string | undefined;
    GITHUB_TOKEN?: string | undefined;
    CURSEFORGE_API_KEY?: string | undefined;
}>, {
    PLUGINATOR_DEBUG: 0 | 1;
    PROD_SERVER_PATH: string;
    TEST_SERVER_PATH: string;
    BACKUP_DIR: string;
    LOGS_DIR: string;
    MAX_BACKUPS: number;
    MAX_LOG_DAYS: number;
    MINECRAFT_VERSION: string;
    DEFAULT_LANGUAGE: string;
    API_TIMEOUT: number;
    DOWNLOAD_THREADS: number;
    THEME: string;
    SERVER_TYPE: "paper" | "purpur";
    SERVER_JAR_DIR: string;
    GITHUB_TOKEN?: string | undefined;
    CURSEFORGE_API_KEY?: string | undefined;
}, {
    PLUGINATOR_DEBUG?: 0 | 1 | undefined;
    PROD_SERVER_PATH?: string | undefined;
    TEST_SERVER_PATH?: string | undefined;
    BACKUP_DIR?: string | undefined;
    LOGS_DIR?: string | undefined;
    MAX_BACKUPS?: number | undefined;
    MAX_LOG_DAYS?: number | undefined;
    MINECRAFT_VERSION?: string | undefined;
    DEFAULT_LANGUAGE?: string | undefined;
    API_TIMEOUT?: number | undefined;
    DOWNLOAD_THREADS?: number | undefined;
    THEME?: string | undefined;
    SERVER_TYPE?: "paper" | "purpur" | undefined;
    SERVER_JAR_DIR?: string | undefined;
    GITHUB_TOKEN?: string | undefined;
    CURSEFORGE_API_KEY?: string | undefined;
}>;
/**
 * Plugin configuration schema with source-type-specific validation
 */
export declare const PluginSchema: z.ZodEffects<z.ZodObject<{
    name: z.ZodString;
    type: z.ZodEnum<["spigot", "modrinth", "github", "jenkins", "bukkit", "web", "manual", "ninsys", "hangar", "geysermc"]>;
    id: z.ZodOptional<z.ZodString>;
    jType: z.ZodOptional<z.ZodString>;
    version: z.ZodOptional<z.ZodString>;
    resourceId: z.ZodOptional<z.ZodString>;
    projectSlug: z.ZodOptional<z.ZodString>;
    repoSlug: z.ZodOptional<z.ZodString>;
    job: z.ZodOptional<z.ZodString>;
    mcVersion: z.ZodOptional<z.ZodString>;
    filenamePattern: z.ZodOptional<z.ZodString>;
    sourceUrl: z.ZodOptional<z.ZodString>;
    disableOnTest: z.ZodDefault<z.ZodBoolean>;
    buildFromSource: z.ZodDefault<z.ZodBoolean>;
    enabled: z.ZodDefault<z.ZodBoolean>;
    sourceAssignment: z.ZodOptional<z.ZodEnum<["registry", "website-hint", "manual", "none"]>>;
    sourceAssignedAt: z.ZodOptional<z.ZodNumber>;
    registryId: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    type: "spigot" | "modrinth" | "github" | "jenkins" | "bukkit" | "web" | "manual" | "ninsys" | "hangar" | "geysermc";
    name: string;
    disableOnTest: boolean;
    buildFromSource: boolean;
    enabled: boolean;
    id?: string | undefined;
    jType?: string | undefined;
    version?: string | undefined;
    resourceId?: string | undefined;
    projectSlug?: string | undefined;
    repoSlug?: string | undefined;
    job?: string | undefined;
    mcVersion?: string | undefined;
    filenamePattern?: string | undefined;
    sourceUrl?: string | undefined;
    sourceAssignment?: "manual" | "registry" | "website-hint" | "none" | undefined;
    sourceAssignedAt?: number | undefined;
    registryId?: string | undefined;
}, {
    type: "spigot" | "modrinth" | "github" | "jenkins" | "bukkit" | "web" | "manual" | "ninsys" | "hangar" | "geysermc";
    name: string;
    id?: string | undefined;
    jType?: string | undefined;
    version?: string | undefined;
    resourceId?: string | undefined;
    projectSlug?: string | undefined;
    repoSlug?: string | undefined;
    job?: string | undefined;
    mcVersion?: string | undefined;
    filenamePattern?: string | undefined;
    sourceUrl?: string | undefined;
    disableOnTest?: boolean | undefined;
    buildFromSource?: boolean | undefined;
    enabled?: boolean | undefined;
    sourceAssignment?: "manual" | "registry" | "website-hint" | "none" | undefined;
    sourceAssignedAt?: number | undefined;
    registryId?: string | undefined;
}>, {
    type: "spigot" | "modrinth" | "github" | "jenkins" | "bukkit" | "web" | "manual" | "ninsys" | "hangar" | "geysermc";
    name: string;
    disableOnTest: boolean;
    buildFromSource: boolean;
    enabled: boolean;
    id?: string | undefined;
    jType?: string | undefined;
    version?: string | undefined;
    resourceId?: string | undefined;
    projectSlug?: string | undefined;
    repoSlug?: string | undefined;
    job?: string | undefined;
    mcVersion?: string | undefined;
    filenamePattern?: string | undefined;
    sourceUrl?: string | undefined;
    sourceAssignment?: "manual" | "registry" | "website-hint" | "none" | undefined;
    sourceAssignedAt?: number | undefined;
    registryId?: string | undefined;
}, {
    type: "spigot" | "modrinth" | "github" | "jenkins" | "bukkit" | "web" | "manual" | "ninsys" | "hangar" | "geysermc";
    name: string;
    id?: string | undefined;
    jType?: string | undefined;
    version?: string | undefined;
    resourceId?: string | undefined;
    projectSlug?: string | undefined;
    repoSlug?: string | undefined;
    job?: string | undefined;
    mcVersion?: string | undefined;
    filenamePattern?: string | undefined;
    sourceUrl?: string | undefined;
    disableOnTest?: boolean | undefined;
    buildFromSource?: boolean | undefined;
    enabled?: boolean | undefined;
    sourceAssignment?: "manual" | "registry" | "website-hint" | "none" | undefined;
    sourceAssignedAt?: number | undefined;
    registryId?: string | undefined;
}>;
/**
 * Plugins configuration file schema
 */
export declare const PluginsConfigSchema: z.ZodObject<{
    plugins: z.ZodArray<z.ZodEffects<z.ZodObject<{
        name: z.ZodString;
        type: z.ZodEnum<["spigot", "modrinth", "github", "jenkins", "bukkit", "web", "manual", "ninsys", "hangar", "geysermc"]>;
        id: z.ZodOptional<z.ZodString>;
        jType: z.ZodOptional<z.ZodString>;
        version: z.ZodOptional<z.ZodString>;
        resourceId: z.ZodOptional<z.ZodString>;
        projectSlug: z.ZodOptional<z.ZodString>;
        repoSlug: z.ZodOptional<z.ZodString>;
        job: z.ZodOptional<z.ZodString>;
        mcVersion: z.ZodOptional<z.ZodString>;
        filenamePattern: z.ZodOptional<z.ZodString>;
        sourceUrl: z.ZodOptional<z.ZodString>;
        disableOnTest: z.ZodDefault<z.ZodBoolean>;
        buildFromSource: z.ZodDefault<z.ZodBoolean>;
        enabled: z.ZodDefault<z.ZodBoolean>;
        sourceAssignment: z.ZodOptional<z.ZodEnum<["registry", "website-hint", "manual", "none"]>>;
        sourceAssignedAt: z.ZodOptional<z.ZodNumber>;
        registryId: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: "spigot" | "modrinth" | "github" | "jenkins" | "bukkit" | "web" | "manual" | "ninsys" | "hangar" | "geysermc";
        name: string;
        disableOnTest: boolean;
        buildFromSource: boolean;
        enabled: boolean;
        id?: string | undefined;
        jType?: string | undefined;
        version?: string | undefined;
        resourceId?: string | undefined;
        projectSlug?: string | undefined;
        repoSlug?: string | undefined;
        job?: string | undefined;
        mcVersion?: string | undefined;
        filenamePattern?: string | undefined;
        sourceUrl?: string | undefined;
        sourceAssignment?: "manual" | "registry" | "website-hint" | "none" | undefined;
        sourceAssignedAt?: number | undefined;
        registryId?: string | undefined;
    }, {
        type: "spigot" | "modrinth" | "github" | "jenkins" | "bukkit" | "web" | "manual" | "ninsys" | "hangar" | "geysermc";
        name: string;
        id?: string | undefined;
        jType?: string | undefined;
        version?: string | undefined;
        resourceId?: string | undefined;
        projectSlug?: string | undefined;
        repoSlug?: string | undefined;
        job?: string | undefined;
        mcVersion?: string | undefined;
        filenamePattern?: string | undefined;
        sourceUrl?: string | undefined;
        disableOnTest?: boolean | undefined;
        buildFromSource?: boolean | undefined;
        enabled?: boolean | undefined;
        sourceAssignment?: "manual" | "registry" | "website-hint" | "none" | undefined;
        sourceAssignedAt?: number | undefined;
        registryId?: string | undefined;
    }>, {
        type: "spigot" | "modrinth" | "github" | "jenkins" | "bukkit" | "web" | "manual" | "ninsys" | "hangar" | "geysermc";
        name: string;
        disableOnTest: boolean;
        buildFromSource: boolean;
        enabled: boolean;
        id?: string | undefined;
        jType?: string | undefined;
        version?: string | undefined;
        resourceId?: string | undefined;
        projectSlug?: string | undefined;
        repoSlug?: string | undefined;
        job?: string | undefined;
        mcVersion?: string | undefined;
        filenamePattern?: string | undefined;
        sourceUrl?: string | undefined;
        sourceAssignment?: "manual" | "registry" | "website-hint" | "none" | undefined;
        sourceAssignedAt?: number | undefined;
        registryId?: string | undefined;
    }, {
        type: "spigot" | "modrinth" | "github" | "jenkins" | "bukkit" | "web" | "manual" | "ninsys" | "hangar" | "geysermc";
        name: string;
        id?: string | undefined;
        jType?: string | undefined;
        version?: string | undefined;
        resourceId?: string | undefined;
        projectSlug?: string | undefined;
        repoSlug?: string | undefined;
        job?: string | undefined;
        mcVersion?: string | undefined;
        filenamePattern?: string | undefined;
        sourceUrl?: string | undefined;
        disableOnTest?: boolean | undefined;
        buildFromSource?: boolean | undefined;
        enabled?: boolean | undefined;
        sourceAssignment?: "manual" | "registry" | "website-hint" | "none" | undefined;
        sourceAssignedAt?: number | undefined;
        registryId?: string | undefined;
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    plugins: {
        type: "spigot" | "modrinth" | "github" | "jenkins" | "bukkit" | "web" | "manual" | "ninsys" | "hangar" | "geysermc";
        name: string;
        disableOnTest: boolean;
        buildFromSource: boolean;
        enabled: boolean;
        id?: string | undefined;
        jType?: string | undefined;
        version?: string | undefined;
        resourceId?: string | undefined;
        projectSlug?: string | undefined;
        repoSlug?: string | undefined;
        job?: string | undefined;
        mcVersion?: string | undefined;
        filenamePattern?: string | undefined;
        sourceUrl?: string | undefined;
        sourceAssignment?: "manual" | "registry" | "website-hint" | "none" | undefined;
        sourceAssignedAt?: number | undefined;
        registryId?: string | undefined;
    }[];
}, {
    plugins: {
        type: "spigot" | "modrinth" | "github" | "jenkins" | "bukkit" | "web" | "manual" | "ninsys" | "hangar" | "geysermc";
        name: string;
        id?: string | undefined;
        jType?: string | undefined;
        version?: string | undefined;
        resourceId?: string | undefined;
        projectSlug?: string | undefined;
        repoSlug?: string | undefined;
        job?: string | undefined;
        mcVersion?: string | undefined;
        filenamePattern?: string | undefined;
        sourceUrl?: string | undefined;
        disableOnTest?: boolean | undefined;
        buildFromSource?: boolean | undefined;
        enabled?: boolean | undefined;
        sourceAssignment?: "manual" | "registry" | "website-hint" | "none" | undefined;
        sourceAssignedAt?: number | undefined;
        registryId?: string | undefined;
    }[];
}>;
/**
 * Source configuration schema
 */
export declare const SourceConfigSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
    type: z.ZodEnum<["spigot", "modrinth", "github", "bukkit", "web", "jenkins", "ninsys", "hangar", "geysermc", "curseforge"]>;
    url: z.ZodString;
    enabled: z.ZodDefault<z.ZodBoolean>;
    checkIntervalSeconds: z.ZodOptional<z.ZodNumber>;
    priority: z.ZodDefault<z.ZodNumber>;
    apiKey: z.ZodOptional<z.ZodString>;
    username: z.ZodOptional<z.ZodString>;
    password: z.ZodOptional<z.ZodString>;
    cacheEnabled: z.ZodDefault<z.ZodBoolean>;
    cacheExpirySeconds: z.ZodDefault<z.ZodNumber>;
    extraParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    type: "spigot" | "modrinth" | "github" | "jenkins" | "bukkit" | "web" | "ninsys" | "hangar" | "geysermc" | "curseforge";
    name: string;
    id: string;
    enabled: boolean;
    url: string;
    priority: number;
    cacheEnabled: boolean;
    cacheExpirySeconds: number;
    checkIntervalSeconds?: number | undefined;
    apiKey?: string | undefined;
    username?: string | undefined;
    password?: string | undefined;
    extraParams?: Record<string, string> | undefined;
}, {
    type: "spigot" | "modrinth" | "github" | "jenkins" | "bukkit" | "web" | "ninsys" | "hangar" | "geysermc" | "curseforge";
    name: string;
    id: string;
    url: string;
    enabled?: boolean | undefined;
    checkIntervalSeconds?: number | undefined;
    priority?: number | undefined;
    apiKey?: string | undefined;
    username?: string | undefined;
    password?: string | undefined;
    cacheEnabled?: boolean | undefined;
    cacheExpirySeconds?: number | undefined;
    extraParams?: Record<string, string> | undefined;
}>;
/**
 * Sources configuration file schema
 */
export declare const SourcesConfigSchema: z.ZodObject<{
    version: z.ZodDefault<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    sources: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
        type: z.ZodEnum<["spigot", "modrinth", "github", "bukkit", "web", "jenkins", "ninsys", "hangar", "geysermc", "curseforge"]>;
        url: z.ZodString;
        enabled: z.ZodDefault<z.ZodBoolean>;
        checkIntervalSeconds: z.ZodOptional<z.ZodNumber>;
        priority: z.ZodDefault<z.ZodNumber>;
        apiKey: z.ZodOptional<z.ZodString>;
        username: z.ZodOptional<z.ZodString>;
        password: z.ZodOptional<z.ZodString>;
        cacheEnabled: z.ZodDefault<z.ZodBoolean>;
        cacheExpirySeconds: z.ZodDefault<z.ZodNumber>;
        extraParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    }, "strip", z.ZodTypeAny, {
        type: "spigot" | "modrinth" | "github" | "jenkins" | "bukkit" | "web" | "ninsys" | "hangar" | "geysermc" | "curseforge";
        name: string;
        id: string;
        enabled: boolean;
        url: string;
        priority: number;
        cacheEnabled: boolean;
        cacheExpirySeconds: number;
        checkIntervalSeconds?: number | undefined;
        apiKey?: string | undefined;
        username?: string | undefined;
        password?: string | undefined;
        extraParams?: Record<string, string> | undefined;
    }, {
        type: "spigot" | "modrinth" | "github" | "jenkins" | "bukkit" | "web" | "ninsys" | "hangar" | "geysermc" | "curseforge";
        name: string;
        id: string;
        url: string;
        enabled?: boolean | undefined;
        checkIntervalSeconds?: number | undefined;
        priority?: number | undefined;
        apiKey?: string | undefined;
        username?: string | undefined;
        password?: string | undefined;
        cacheEnabled?: boolean | undefined;
        cacheExpirySeconds?: number | undefined;
        extraParams?: Record<string, string> | undefined;
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    version: string;
    sources: {
        type: "spigot" | "modrinth" | "github" | "jenkins" | "bukkit" | "web" | "ninsys" | "hangar" | "geysermc" | "curseforge";
        name: string;
        id: string;
        enabled: boolean;
        url: string;
        priority: number;
        cacheEnabled: boolean;
        cacheExpirySeconds: number;
        checkIntervalSeconds?: number | undefined;
        apiKey?: string | undefined;
        username?: string | undefined;
        password?: string | undefined;
        extraParams?: Record<string, string> | undefined;
    }[];
    description?: string | undefined;
}, {
    sources: {
        type: "spigot" | "modrinth" | "github" | "jenkins" | "bukkit" | "web" | "ninsys" | "hangar" | "geysermc" | "curseforge";
        name: string;
        id: string;
        url: string;
        enabled?: boolean | undefined;
        checkIntervalSeconds?: number | undefined;
        priority?: number | undefined;
        apiKey?: string | undefined;
        username?: string | undefined;
        password?: string | undefined;
        cacheEnabled?: boolean | undefined;
        cacheExpirySeconds?: number | undefined;
        extraParams?: Record<string, string> | undefined;
    }[];
    version?: string | undefined;
    description?: string | undefined;
}>;
/**
 * Theme color schema
 */
export declare const ThemeColorsSchema: z.ZodObject<{
    primary: z.ZodString;
    secondary: z.ZodString;
    success: z.ZodString;
    warning: z.ZodString;
    error: z.ZodString;
    info: z.ZodString;
    text: z.ZodString;
    textSecondary: z.ZodString;
    textMuted: z.ZodString;
    background: z.ZodString;
    surface: z.ZodString;
    surfaceHover: z.ZodString;
    border: z.ZodString;
    selection: z.ZodString;
}, "strip", z.ZodTypeAny, {
    primary: string;
    secondary: string;
    success: string;
    warning: string;
    error: string;
    info: string;
    text: string;
    textSecondary: string;
    textMuted: string;
    background: string;
    surface: string;
    surfaceHover: string;
    border: string;
    selection: string;
}, {
    primary: string;
    secondary: string;
    success: string;
    warning: string;
    error: string;
    info: string;
    text: string;
    textSecondary: string;
    textMuted: string;
    background: string;
    surface: string;
    surfaceHover: string;
    border: string;
    selection: string;
}>;
/**
 * Partial theme colors schema with validation
 * Requires at least one color to be defined if not extending another theme
 */
export declare const PartialThemeColorsSchema: z.ZodObject<{
    primary: z.ZodOptional<z.ZodString>;
    secondary: z.ZodOptional<z.ZodString>;
    success: z.ZodOptional<z.ZodString>;
    warning: z.ZodOptional<z.ZodString>;
    error: z.ZodOptional<z.ZodString>;
    info: z.ZodOptional<z.ZodString>;
    text: z.ZodOptional<z.ZodString>;
    textSecondary: z.ZodOptional<z.ZodString>;
    textMuted: z.ZodOptional<z.ZodString>;
    background: z.ZodOptional<z.ZodString>;
    surface: z.ZodOptional<z.ZodString>;
    surfaceHover: z.ZodOptional<z.ZodString>;
    border: z.ZodOptional<z.ZodString>;
    selection: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    primary?: string | undefined;
    secondary?: string | undefined;
    success?: string | undefined;
    warning?: string | undefined;
    error?: string | undefined;
    info?: string | undefined;
    text?: string | undefined;
    textSecondary?: string | undefined;
    textMuted?: string | undefined;
    background?: string | undefined;
    surface?: string | undefined;
    surfaceHover?: string | undefined;
    border?: string | undefined;
    selection?: string | undefined;
}, {
    primary?: string | undefined;
    secondary?: string | undefined;
    success?: string | undefined;
    warning?: string | undefined;
    error?: string | undefined;
    info?: string | undefined;
    text?: string | undefined;
    textSecondary?: string | undefined;
    textMuted?: string | undefined;
    background?: string | undefined;
    surface?: string | undefined;
    surfaceHover?: string | undefined;
    border?: string | undefined;
    selection?: string | undefined;
}>;
/**
 * Theme configuration schema
 */
export declare const ThemeConfigSchema: z.ZodEffects<z.ZodObject<{
    name: z.ZodString;
    extends: z.ZodOptional<z.ZodString>;
    colors: z.ZodObject<{
        primary: z.ZodOptional<z.ZodString>;
        secondary: z.ZodOptional<z.ZodString>;
        success: z.ZodOptional<z.ZodString>;
        warning: z.ZodOptional<z.ZodString>;
        error: z.ZodOptional<z.ZodString>;
        info: z.ZodOptional<z.ZodString>;
        text: z.ZodOptional<z.ZodString>;
        textSecondary: z.ZodOptional<z.ZodString>;
        textMuted: z.ZodOptional<z.ZodString>;
        background: z.ZodOptional<z.ZodString>;
        surface: z.ZodOptional<z.ZodString>;
        surfaceHover: z.ZodOptional<z.ZodString>;
        border: z.ZodOptional<z.ZodString>;
        selection: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        primary?: string | undefined;
        secondary?: string | undefined;
        success?: string | undefined;
        warning?: string | undefined;
        error?: string | undefined;
        info?: string | undefined;
        text?: string | undefined;
        textSecondary?: string | undefined;
        textMuted?: string | undefined;
        background?: string | undefined;
        surface?: string | undefined;
        surfaceHover?: string | undefined;
        border?: string | undefined;
        selection?: string | undefined;
    }, {
        primary?: string | undefined;
        secondary?: string | undefined;
        success?: string | undefined;
        warning?: string | undefined;
        error?: string | undefined;
        info?: string | undefined;
        text?: string | undefined;
        textSecondary?: string | undefined;
        textMuted?: string | undefined;
        background?: string | undefined;
        surface?: string | undefined;
        surfaceHover?: string | undefined;
        border?: string | undefined;
        selection?: string | undefined;
    }>;
}, "strip", z.ZodTypeAny, {
    name: string;
    colors: {
        primary?: string | undefined;
        secondary?: string | undefined;
        success?: string | undefined;
        warning?: string | undefined;
        error?: string | undefined;
        info?: string | undefined;
        text?: string | undefined;
        textSecondary?: string | undefined;
        textMuted?: string | undefined;
        background?: string | undefined;
        surface?: string | undefined;
        surfaceHover?: string | undefined;
        border?: string | undefined;
        selection?: string | undefined;
    };
    extends?: string | undefined;
}, {
    name: string;
    colors: {
        primary?: string | undefined;
        secondary?: string | undefined;
        success?: string | undefined;
        warning?: string | undefined;
        error?: string | undefined;
        info?: string | undefined;
        text?: string | undefined;
        textSecondary?: string | undefined;
        textMuted?: string | undefined;
        background?: string | undefined;
        surface?: string | undefined;
        surfaceHover?: string | undefined;
        border?: string | undefined;
        selection?: string | undefined;
    };
    extends?: string | undefined;
}>, {
    name: string;
    colors: {
        primary?: string | undefined;
        secondary?: string | undefined;
        success?: string | undefined;
        warning?: string | undefined;
        error?: string | undefined;
        info?: string | undefined;
        text?: string | undefined;
        textSecondary?: string | undefined;
        textMuted?: string | undefined;
        background?: string | undefined;
        surface?: string | undefined;
        surfaceHover?: string | undefined;
        border?: string | undefined;
        selection?: string | undefined;
    };
    extends?: string | undefined;
}, {
    name: string;
    colors: {
        primary?: string | undefined;
        secondary?: string | undefined;
        success?: string | undefined;
        warning?: string | undefined;
        error?: string | undefined;
        info?: string | undefined;
        text?: string | undefined;
        textSecondary?: string | undefined;
        textMuted?: string | undefined;
        background?: string | undefined;
        surface?: string | undefined;
        surfaceHover?: string | undefined;
        border?: string | undefined;
        selection?: string | undefined;
    };
    extends?: string | undefined;
}>;
/**
 * Type inference helpers
 */
export type PluginatorConfigInput = z.input<typeof PluginatorConfigSchema>;
export type PluginatorConfigOutput = z.output<typeof PluginatorConfigSchema>;
export type PluginInput = z.input<typeof PluginSchema>;
export type PluginOutput = z.output<typeof PluginSchema>;
export type SourceConfigInput = z.input<typeof SourceConfigSchema>;
export type SourceConfigOutput = z.output<typeof SourceConfigSchema>;
export type ThemeConfigInput = z.input<typeof ThemeConfigSchema>;
export type ThemeColorsInput = z.input<typeof ThemeColorsSchema>;
export type PartialThemeColorsInput = z.input<typeof PartialThemeColorsSchema>;
/**
 * Validate a configuration object against a schema
 */
export declare function validateConfig<T extends z.ZodType>(schema: T, data: unknown): {
    success: true;
    data: z.output<T>;
} | {
    success: false;
    errors: z.ZodError;
};
/**
 * Format Zod errors for display
 */
export declare function formatZodErrors(errors: z.ZodError): string[];
/**
 * User plugin category schema
 */
export declare const UserPluginCategorySchema: z.ZodEnum<["admin", "economy", "permissions", "world", "gameplay", "chat", "protection", "utility", "library", "performance", "cosmetic", "minigames", "social", "uncategorized"]>;
/**
 * User plugin entry schema
 * Stored in ~/.pluginator/plugins-registry.json
 */
export declare const UserPluginEntrySchema: z.ZodEffects<z.ZodObject<{
    name: z.ZodString;
    type: z.ZodEnum<["spigot", "modrinth", "github", "jenkins", "bukkit", "web", "manual", "ninsys", "hangar", "geysermc"]>;
    resourceId: z.ZodOptional<z.ZodString>;
    projectSlug: z.ZodOptional<z.ZodString>;
    repoSlug: z.ZodOptional<z.ZodString>;
    job: z.ZodOptional<z.ZodString>;
    manifestUrl: z.ZodOptional<z.ZodString>;
    filenamePattern: z.ZodOptional<z.ZodString>;
    aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    mcVersion: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    website: z.ZodOptional<z.ZodString>;
    category: z.ZodOptional<z.ZodEnum<["admin", "economy", "permissions", "world", "gameplay", "chat", "protection", "utility", "library", "performance", "cosmetic", "minigames", "social", "uncategorized"]>>;
    buildFromSource: z.ZodOptional<z.ZodBoolean>;
    releaseChannel: z.ZodOptional<z.ZodEnum<["release", "beta", "alpha"]>>;
}, "strip", z.ZodTypeAny, {
    type: "spigot" | "modrinth" | "github" | "jenkins" | "bukkit" | "web" | "manual" | "ninsys" | "hangar" | "geysermc";
    name: string;
    resourceId?: string | undefined;
    projectSlug?: string | undefined;
    repoSlug?: string | undefined;
    job?: string | undefined;
    mcVersion?: string | undefined;
    filenamePattern?: string | undefined;
    buildFromSource?: boolean | undefined;
    description?: string | undefined;
    manifestUrl?: string | undefined;
    aliases?: string[] | undefined;
    website?: string | undefined;
    category?: "admin" | "economy" | "permissions" | "world" | "gameplay" | "chat" | "protection" | "utility" | "library" | "performance" | "cosmetic" | "minigames" | "social" | "uncategorized" | undefined;
    releaseChannel?: "release" | "beta" | "alpha" | undefined;
}, {
    type: "spigot" | "modrinth" | "github" | "jenkins" | "bukkit" | "web" | "manual" | "ninsys" | "hangar" | "geysermc";
    name: string;
    resourceId?: string | undefined;
    projectSlug?: string | undefined;
    repoSlug?: string | undefined;
    job?: string | undefined;
    mcVersion?: string | undefined;
    filenamePattern?: string | undefined;
    buildFromSource?: boolean | undefined;
    description?: string | undefined;
    manifestUrl?: string | undefined;
    aliases?: string[] | undefined;
    website?: string | undefined;
    category?: "admin" | "economy" | "permissions" | "world" | "gameplay" | "chat" | "protection" | "utility" | "library" | "performance" | "cosmetic" | "minigames" | "social" | "uncategorized" | undefined;
    releaseChannel?: "release" | "beta" | "alpha" | undefined;
}>, {
    type: "spigot" | "modrinth" | "github" | "jenkins" | "bukkit" | "web" | "manual" | "ninsys" | "hangar" | "geysermc";
    name: string;
    resourceId?: string | undefined;
    projectSlug?: string | undefined;
    repoSlug?: string | undefined;
    job?: string | undefined;
    mcVersion?: string | undefined;
    filenamePattern?: string | undefined;
    buildFromSource?: boolean | undefined;
    description?: string | undefined;
    manifestUrl?: string | undefined;
    aliases?: string[] | undefined;
    website?: string | undefined;
    category?: "admin" | "economy" | "permissions" | "world" | "gameplay" | "chat" | "protection" | "utility" | "library" | "performance" | "cosmetic" | "minigames" | "social" | "uncategorized" | undefined;
    releaseChannel?: "release" | "beta" | "alpha" | undefined;
}, {
    type: "spigot" | "modrinth" | "github" | "jenkins" | "bukkit" | "web" | "manual" | "ninsys" | "hangar" | "geysermc";
    name: string;
    resourceId?: string | undefined;
    projectSlug?: string | undefined;
    repoSlug?: string | undefined;
    job?: string | undefined;
    mcVersion?: string | undefined;
    filenamePattern?: string | undefined;
    buildFromSource?: boolean | undefined;
    description?: string | undefined;
    manifestUrl?: string | undefined;
    aliases?: string[] | undefined;
    website?: string | undefined;
    category?: "admin" | "economy" | "permissions" | "world" | "gameplay" | "chat" | "protection" | "utility" | "library" | "performance" | "cosmetic" | "minigames" | "social" | "uncategorized" | undefined;
    releaseChannel?: "release" | "beta" | "alpha" | undefined;
}>;
/**
 * User plugin registry schema
 */
export declare const UserPluginRegistrySchema: z.ZodObject<{
    version: z.ZodLiteral<1>;
    lastModified: z.ZodString;
    plugins: z.ZodArray<z.ZodEffects<z.ZodObject<{
        name: z.ZodString;
        type: z.ZodEnum<["spigot", "modrinth", "github", "jenkins", "bukkit", "web", "manual", "ninsys", "hangar", "geysermc"]>;
        resourceId: z.ZodOptional<z.ZodString>;
        projectSlug: z.ZodOptional<z.ZodString>;
        repoSlug: z.ZodOptional<z.ZodString>;
        job: z.ZodOptional<z.ZodString>;
        manifestUrl: z.ZodOptional<z.ZodString>;
        filenamePattern: z.ZodOptional<z.ZodString>;
        aliases: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        mcVersion: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        website: z.ZodOptional<z.ZodString>;
        category: z.ZodOptional<z.ZodEnum<["admin", "economy", "permissions", "world", "gameplay", "chat", "protection", "utility", "library", "performance", "cosmetic", "minigames", "social", "uncategorized"]>>;
        buildFromSource: z.ZodOptional<z.ZodBoolean>;
        releaseChannel: z.ZodOptional<z.ZodEnum<["release", "beta", "alpha"]>>;
    }, "strip", z.ZodTypeAny, {
        type: "spigot" | "modrinth" | "github" | "jenkins" | "bukkit" | "web" | "manual" | "ninsys" | "hangar" | "geysermc";
        name: string;
        resourceId?: string | undefined;
        projectSlug?: string | undefined;
        repoSlug?: string | undefined;
        job?: string | undefined;
        mcVersion?: string | undefined;
        filenamePattern?: string | undefined;
        buildFromSource?: boolean | undefined;
        description?: string | undefined;
        manifestUrl?: string | undefined;
        aliases?: string[] | undefined;
        website?: string | undefined;
        category?: "admin" | "economy" | "permissions" | "world" | "gameplay" | "chat" | "protection" | "utility" | "library" | "performance" | "cosmetic" | "minigames" | "social" | "uncategorized" | undefined;
        releaseChannel?: "release" | "beta" | "alpha" | undefined;
    }, {
        type: "spigot" | "modrinth" | "github" | "jenkins" | "bukkit" | "web" | "manual" | "ninsys" | "hangar" | "geysermc";
        name: string;
        resourceId?: string | undefined;
        projectSlug?: string | undefined;
        repoSlug?: string | undefined;
        job?: string | undefined;
        mcVersion?: string | undefined;
        filenamePattern?: string | undefined;
        buildFromSource?: boolean | undefined;
        description?: string | undefined;
        manifestUrl?: string | undefined;
        aliases?: string[] | undefined;
        website?: string | undefined;
        category?: "admin" | "economy" | "permissions" | "world" | "gameplay" | "chat" | "protection" | "utility" | "library" | "performance" | "cosmetic" | "minigames" | "social" | "uncategorized" | undefined;
        releaseChannel?: "release" | "beta" | "alpha" | undefined;
    }>, {
        type: "spigot" | "modrinth" | "github" | "jenkins" | "bukkit" | "web" | "manual" | "ninsys" | "hangar" | "geysermc";
        name: string;
        resourceId?: string | undefined;
        projectSlug?: string | undefined;
        repoSlug?: string | undefined;
        job?: string | undefined;
        mcVersion?: string | undefined;
        filenamePattern?: string | undefined;
        buildFromSource?: boolean | undefined;
        description?: string | undefined;
        manifestUrl?: string | undefined;
        aliases?: string[] | undefined;
        website?: string | undefined;
        category?: "admin" | "economy" | "permissions" | "world" | "gameplay" | "chat" | "protection" | "utility" | "library" | "performance" | "cosmetic" | "minigames" | "social" | "uncategorized" | undefined;
        releaseChannel?: "release" | "beta" | "alpha" | undefined;
    }, {
        type: "spigot" | "modrinth" | "github" | "jenkins" | "bukkit" | "web" | "manual" | "ninsys" | "hangar" | "geysermc";
        name: string;
        resourceId?: string | undefined;
        projectSlug?: string | undefined;
        repoSlug?: string | undefined;
        job?: string | undefined;
        mcVersion?: string | undefined;
        filenamePattern?: string | undefined;
        buildFromSource?: boolean | undefined;
        description?: string | undefined;
        manifestUrl?: string | undefined;
        aliases?: string[] | undefined;
        website?: string | undefined;
        category?: "admin" | "economy" | "permissions" | "world" | "gameplay" | "chat" | "protection" | "utility" | "library" | "performance" | "cosmetic" | "minigames" | "social" | "uncategorized" | undefined;
        releaseChannel?: "release" | "beta" | "alpha" | undefined;
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    version: 1;
    plugins: {
        type: "spigot" | "modrinth" | "github" | "jenkins" | "bukkit" | "web" | "manual" | "ninsys" | "hangar" | "geysermc";
        name: string;
        resourceId?: string | undefined;
        projectSlug?: string | undefined;
        repoSlug?: string | undefined;
        job?: string | undefined;
        mcVersion?: string | undefined;
        filenamePattern?: string | undefined;
        buildFromSource?: boolean | undefined;
        description?: string | undefined;
        manifestUrl?: string | undefined;
        aliases?: string[] | undefined;
        website?: string | undefined;
        category?: "admin" | "economy" | "permissions" | "world" | "gameplay" | "chat" | "protection" | "utility" | "library" | "performance" | "cosmetic" | "minigames" | "social" | "uncategorized" | undefined;
        releaseChannel?: "release" | "beta" | "alpha" | undefined;
    }[];
    lastModified: string;
}, {
    version: 1;
    plugins: {
        type: "spigot" | "modrinth" | "github" | "jenkins" | "bukkit" | "web" | "manual" | "ninsys" | "hangar" | "geysermc";
        name: string;
        resourceId?: string | undefined;
        projectSlug?: string | undefined;
        repoSlug?: string | undefined;
        job?: string | undefined;
        mcVersion?: string | undefined;
        filenamePattern?: string | undefined;
        buildFromSource?: boolean | undefined;
        description?: string | undefined;
        manifestUrl?: string | undefined;
        aliases?: string[] | undefined;
        website?: string | undefined;
        category?: "admin" | "economy" | "permissions" | "world" | "gameplay" | "chat" | "protection" | "utility" | "library" | "performance" | "cosmetic" | "minigames" | "social" | "uncategorized" | undefined;
        releaseChannel?: "release" | "beta" | "alpha" | undefined;
    }[];
    lastModified: string;
}>;
/**
 * Plugin preferences schema
 * Stored in ~/.pluginator/preferences.json
 */
export declare const PluginPreferencesSchema: z.ZodObject<{
    version: z.ZodLiteral<1>;
    lastModified: z.ZodString;
    disabledOnProd: z.ZodArray<z.ZodString, "many">;
    disabledOnTest: z.ZodArray<z.ZodString, "many">;
    skipMigrateToProd: z.ZodArray<z.ZodString, "many">;
    pinned: z.ZodArray<z.ZodString, "many">;
    favorites: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    notes: z.ZodRecord<z.ZodString, z.ZodString>;
    autoUpdate: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    pluginSettings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
}, "strip", z.ZodTypeAny, {
    version: 1;
    lastModified: string;
    disabledOnProd: string[];
    disabledOnTest: string[];
    skipMigrateToProd: string[];
    pinned: string[];
    notes: Record<string, string>;
    favorites?: string[] | undefined;
    autoUpdate?: string[] | undefined;
    pluginSettings?: Record<string, Record<string, unknown>> | undefined;
}, {
    version: 1;
    lastModified: string;
    disabledOnProd: string[];
    disabledOnTest: string[];
    skipMigrateToProd: string[];
    pinned: string[];
    notes: Record<string, string>;
    favorites?: string[] | undefined;
    autoUpdate?: string[] | undefined;
    pluginSettings?: Record<string, Record<string, unknown>> | undefined;
}>;
/**
 * Server scan cache schema
 */
export declare const ServerScanCacheSchema: z.ZodObject<{
    path: z.ZodString;
    plugins: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        version: z.ZodString;
        main: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        author: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
        authors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        website: z.ZodOptional<z.ZodString>;
        apiVersion: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
        depend: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
        softDepend: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
        loadBefore: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
        prefix: z.ZodOptional<z.ZodString>;
        load: z.ZodOptional<z.ZodEnum<["STARTUP", "POSTWORLD"]>>;
        jarPath: z.ZodString;
        jarFilename: z.ZodString;
        fileSize: z.ZodOptional<z.ZodNumber>;
        modifiedTime: z.ZodOptional<z.ZodNumber>;
        valid: z.ZodBoolean;
        error: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        valid: boolean;
        name: string;
        version: string;
        main: string;
        jarPath: string;
        jarFilename: string;
        description?: string | undefined;
        error?: string | undefined;
        website?: string | undefined;
        author?: string | string[] | undefined;
        authors?: string[] | undefined;
        apiVersion?: string | number | undefined;
        depend?: string[] | null | undefined;
        softDepend?: string[] | null | undefined;
        loadBefore?: string[] | null | undefined;
        prefix?: string | undefined;
        load?: "STARTUP" | "POSTWORLD" | undefined;
        fileSize?: number | undefined;
        modifiedTime?: number | undefined;
    }, {
        valid: boolean;
        name: string;
        version: string;
        main: string;
        jarPath: string;
        jarFilename: string;
        description?: string | undefined;
        error?: string | undefined;
        website?: string | undefined;
        author?: string | string[] | undefined;
        authors?: string[] | undefined;
        apiVersion?: string | number | undefined;
        depend?: string[] | null | undefined;
        softDepend?: string[] | null | undefined;
        loadBefore?: string[] | null | undefined;
        prefix?: string | undefined;
        load?: "STARTUP" | "POSTWORLD" | undefined;
        fileSize?: number | undefined;
        modifiedTime?: number | undefined;
    }>, "many">;
    pluginCount: z.ZodNumber;
    scanDurationMs: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    path: string;
    plugins: {
        valid: boolean;
        name: string;
        version: string;
        main: string;
        jarPath: string;
        jarFilename: string;
        description?: string | undefined;
        error?: string | undefined;
        website?: string | undefined;
        author?: string | string[] | undefined;
        authors?: string[] | undefined;
        apiVersion?: string | number | undefined;
        depend?: string[] | null | undefined;
        softDepend?: string[] | null | undefined;
        loadBefore?: string[] | null | undefined;
        prefix?: string | undefined;
        load?: "STARTUP" | "POSTWORLD" | undefined;
        fileSize?: number | undefined;
        modifiedTime?: number | undefined;
    }[];
    pluginCount: number;
    scanDurationMs?: number | undefined;
}, {
    path: string;
    plugins: {
        valid: boolean;
        name: string;
        version: string;
        main: string;
        jarPath: string;
        jarFilename: string;
        description?: string | undefined;
        error?: string | undefined;
        website?: string | undefined;
        author?: string | string[] | undefined;
        authors?: string[] | undefined;
        apiVersion?: string | number | undefined;
        depend?: string[] | null | undefined;
        softDepend?: string[] | null | undefined;
        loadBefore?: string[] | null | undefined;
        prefix?: string | undefined;
        load?: "STARTUP" | "POSTWORLD" | undefined;
        fileSize?: number | undefined;
        modifiedTime?: number | undefined;
    }[];
    pluginCount: number;
    scanDurationMs?: number | undefined;
}>;
/**
 * Scan cache schema
 * Stored in ~/.pluginator/cache/scan-cache.json
 */
export declare const ScanCacheSchema: z.ZodObject<{
    version: z.ZodLiteral<1>;
    timestamp: z.ZodString;
    ttlMs: z.ZodNumber;
    prod: z.ZodObject<{
        path: z.ZodString;
        plugins: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            version: z.ZodString;
            main: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            author: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
            authors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            website: z.ZodOptional<z.ZodString>;
            apiVersion: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
            depend: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
            softDepend: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
            loadBefore: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
            prefix: z.ZodOptional<z.ZodString>;
            load: z.ZodOptional<z.ZodEnum<["STARTUP", "POSTWORLD"]>>;
            jarPath: z.ZodString;
            jarFilename: z.ZodString;
            fileSize: z.ZodOptional<z.ZodNumber>;
            modifiedTime: z.ZodOptional<z.ZodNumber>;
            valid: z.ZodBoolean;
            error: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            valid: boolean;
            name: string;
            version: string;
            main: string;
            jarPath: string;
            jarFilename: string;
            description?: string | undefined;
            error?: string | undefined;
            website?: string | undefined;
            author?: string | string[] | undefined;
            authors?: string[] | undefined;
            apiVersion?: string | number | undefined;
            depend?: string[] | null | undefined;
            softDepend?: string[] | null | undefined;
            loadBefore?: string[] | null | undefined;
            prefix?: string | undefined;
            load?: "STARTUP" | "POSTWORLD" | undefined;
            fileSize?: number | undefined;
            modifiedTime?: number | undefined;
        }, {
            valid: boolean;
            name: string;
            version: string;
            main: string;
            jarPath: string;
            jarFilename: string;
            description?: string | undefined;
            error?: string | undefined;
            website?: string | undefined;
            author?: string | string[] | undefined;
            authors?: string[] | undefined;
            apiVersion?: string | number | undefined;
            depend?: string[] | null | undefined;
            softDepend?: string[] | null | undefined;
            loadBefore?: string[] | null | undefined;
            prefix?: string | undefined;
            load?: "STARTUP" | "POSTWORLD" | undefined;
            fileSize?: number | undefined;
            modifiedTime?: number | undefined;
        }>, "many">;
        pluginCount: z.ZodNumber;
        scanDurationMs: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        path: string;
        plugins: {
            valid: boolean;
            name: string;
            version: string;
            main: string;
            jarPath: string;
            jarFilename: string;
            description?: string | undefined;
            error?: string | undefined;
            website?: string | undefined;
            author?: string | string[] | undefined;
            authors?: string[] | undefined;
            apiVersion?: string | number | undefined;
            depend?: string[] | null | undefined;
            softDepend?: string[] | null | undefined;
            loadBefore?: string[] | null | undefined;
            prefix?: string | undefined;
            load?: "STARTUP" | "POSTWORLD" | undefined;
            fileSize?: number | undefined;
            modifiedTime?: number | undefined;
        }[];
        pluginCount: number;
        scanDurationMs?: number | undefined;
    }, {
        path: string;
        plugins: {
            valid: boolean;
            name: string;
            version: string;
            main: string;
            jarPath: string;
            jarFilename: string;
            description?: string | undefined;
            error?: string | undefined;
            website?: string | undefined;
            author?: string | string[] | undefined;
            authors?: string[] | undefined;
            apiVersion?: string | number | undefined;
            depend?: string[] | null | undefined;
            softDepend?: string[] | null | undefined;
            loadBefore?: string[] | null | undefined;
            prefix?: string | undefined;
            load?: "STARTUP" | "POSTWORLD" | undefined;
            fileSize?: number | undefined;
            modifiedTime?: number | undefined;
        }[];
        pluginCount: number;
        scanDurationMs?: number | undefined;
    }>;
    test: z.ZodObject<{
        path: z.ZodString;
        plugins: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            version: z.ZodString;
            main: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            author: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
            authors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            website: z.ZodOptional<z.ZodString>;
            apiVersion: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
            depend: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
            softDepend: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
            loadBefore: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
            prefix: z.ZodOptional<z.ZodString>;
            load: z.ZodOptional<z.ZodEnum<["STARTUP", "POSTWORLD"]>>;
            jarPath: z.ZodString;
            jarFilename: z.ZodString;
            fileSize: z.ZodOptional<z.ZodNumber>;
            modifiedTime: z.ZodOptional<z.ZodNumber>;
            valid: z.ZodBoolean;
            error: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            valid: boolean;
            name: string;
            version: string;
            main: string;
            jarPath: string;
            jarFilename: string;
            description?: string | undefined;
            error?: string | undefined;
            website?: string | undefined;
            author?: string | string[] | undefined;
            authors?: string[] | undefined;
            apiVersion?: string | number | undefined;
            depend?: string[] | null | undefined;
            softDepend?: string[] | null | undefined;
            loadBefore?: string[] | null | undefined;
            prefix?: string | undefined;
            load?: "STARTUP" | "POSTWORLD" | undefined;
            fileSize?: number | undefined;
            modifiedTime?: number | undefined;
        }, {
            valid: boolean;
            name: string;
            version: string;
            main: string;
            jarPath: string;
            jarFilename: string;
            description?: string | undefined;
            error?: string | undefined;
            website?: string | undefined;
            author?: string | string[] | undefined;
            authors?: string[] | undefined;
            apiVersion?: string | number | undefined;
            depend?: string[] | null | undefined;
            softDepend?: string[] | null | undefined;
            loadBefore?: string[] | null | undefined;
            prefix?: string | undefined;
            load?: "STARTUP" | "POSTWORLD" | undefined;
            fileSize?: number | undefined;
            modifiedTime?: number | undefined;
        }>, "many">;
        pluginCount: z.ZodNumber;
        scanDurationMs: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        path: string;
        plugins: {
            valid: boolean;
            name: string;
            version: string;
            main: string;
            jarPath: string;
            jarFilename: string;
            description?: string | undefined;
            error?: string | undefined;
            website?: string | undefined;
            author?: string | string[] | undefined;
            authors?: string[] | undefined;
            apiVersion?: string | number | undefined;
            depend?: string[] | null | undefined;
            softDepend?: string[] | null | undefined;
            loadBefore?: string[] | null | undefined;
            prefix?: string | undefined;
            load?: "STARTUP" | "POSTWORLD" | undefined;
            fileSize?: number | undefined;
            modifiedTime?: number | undefined;
        }[];
        pluginCount: number;
        scanDurationMs?: number | undefined;
    }, {
        path: string;
        plugins: {
            valid: boolean;
            name: string;
            version: string;
            main: string;
            jarPath: string;
            jarFilename: string;
            description?: string | undefined;
            error?: string | undefined;
            website?: string | undefined;
            author?: string | string[] | undefined;
            authors?: string[] | undefined;
            apiVersion?: string | number | undefined;
            depend?: string[] | null | undefined;
            softDepend?: string[] | null | undefined;
            loadBefore?: string[] | null | undefined;
            prefix?: string | undefined;
            load?: "STARTUP" | "POSTWORLD" | undefined;
            fileSize?: number | undefined;
            modifiedTime?: number | undefined;
        }[];
        pluginCount: number;
        scanDurationMs?: number | undefined;
    }>;
    pathsHash: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    version: 1;
    timestamp: string;
    ttlMs: number;
    prod: {
        path: string;
        plugins: {
            valid: boolean;
            name: string;
            version: string;
            main: string;
            jarPath: string;
            jarFilename: string;
            description?: string | undefined;
            error?: string | undefined;
            website?: string | undefined;
            author?: string | string[] | undefined;
            authors?: string[] | undefined;
            apiVersion?: string | number | undefined;
            depend?: string[] | null | undefined;
            softDepend?: string[] | null | undefined;
            loadBefore?: string[] | null | undefined;
            prefix?: string | undefined;
            load?: "STARTUP" | "POSTWORLD" | undefined;
            fileSize?: number | undefined;
            modifiedTime?: number | undefined;
        }[];
        pluginCount: number;
        scanDurationMs?: number | undefined;
    };
    test: {
        path: string;
        plugins: {
            valid: boolean;
            name: string;
            version: string;
            main: string;
            jarPath: string;
            jarFilename: string;
            description?: string | undefined;
            error?: string | undefined;
            website?: string | undefined;
            author?: string | string[] | undefined;
            authors?: string[] | undefined;
            apiVersion?: string | number | undefined;
            depend?: string[] | null | undefined;
            softDepend?: string[] | null | undefined;
            loadBefore?: string[] | null | undefined;
            prefix?: string | undefined;
            load?: "STARTUP" | "POSTWORLD" | undefined;
            fileSize?: number | undefined;
            modifiedTime?: number | undefined;
        }[];
        pluginCount: number;
        scanDurationMs?: number | undefined;
    };
    pathsHash?: string | undefined;
}, {
    version: 1;
    timestamp: string;
    ttlMs: number;
    prod: {
        path: string;
        plugins: {
            valid: boolean;
            name: string;
            version: string;
            main: string;
            jarPath: string;
            jarFilename: string;
            description?: string | undefined;
            error?: string | undefined;
            website?: string | undefined;
            author?: string | string[] | undefined;
            authors?: string[] | undefined;
            apiVersion?: string | number | undefined;
            depend?: string[] | null | undefined;
            softDepend?: string[] | null | undefined;
            loadBefore?: string[] | null | undefined;
            prefix?: string | undefined;
            load?: "STARTUP" | "POSTWORLD" | undefined;
            fileSize?: number | undefined;
            modifiedTime?: number | undefined;
        }[];
        pluginCount: number;
        scanDurationMs?: number | undefined;
    };
    test: {
        path: string;
        plugins: {
            valid: boolean;
            name: string;
            version: string;
            main: string;
            jarPath: string;
            jarFilename: string;
            description?: string | undefined;
            error?: string | undefined;
            website?: string | undefined;
            author?: string | string[] | undefined;
            authors?: string[] | undefined;
            apiVersion?: string | number | undefined;
            depend?: string[] | null | undefined;
            softDepend?: string[] | null | undefined;
            loadBefore?: string[] | null | undefined;
            prefix?: string | undefined;
            load?: "STARTUP" | "POSTWORLD" | undefined;
            fileSize?: number | undefined;
            modifiedTime?: number | undefined;
        }[];
        pluginCount: number;
        scanDurationMs?: number | undefined;
    };
    pathsHash?: string | undefined;
}>;
/**
 * Type inference for new schemas
 */
export type UserPluginEntryInput = z.input<typeof UserPluginEntrySchema>;
export type UserPluginEntryOutput = z.output<typeof UserPluginEntrySchema>;
export type UserPluginRegistryInput = z.input<typeof UserPluginRegistrySchema>;
export type UserPluginRegistryOutput = z.output<typeof UserPluginRegistrySchema>;
export type PluginPreferencesInput = z.input<typeof PluginPreferencesSchema>;
export type PluginPreferencesOutput = z.output<typeof PluginPreferencesSchema>;
export type ScanCacheInput = z.input<typeof ScanCacheSchema>;
export type ScanCacheOutput = z.output<typeof ScanCacheSchema>;
/**
 * Time window schema (e.g., "02:00" to "04:00")
 */
export declare const TimeWindowSchema: z.ZodObject<{
    start: z.ZodString;
    end: z.ZodString;
}, "strip", z.ZodTypeAny, {
    start: string;
    end: string;
}, {
    start: string;
    end: string;
}>;
/**
 * Auto-backup configuration schema (v1.51.2)
 * Controls automatic backup creation before scheduled updates
 */
export declare const AutoBackupConfigSchema: z.ZodObject<{
    /** Whether to create a backup before executing updates */
    enabled: z.ZodDefault<z.ZodBoolean>;
    /** Directory to store backups */
    backupDir: z.ZodDefault<z.ZodString>;
    /** Directory containing plugins to backup */
    pluginsDir: z.ZodDefault<z.ZodString>;
    /** Number of days to keep pre-update backups (0 = keep forever) */
    retentionDays: z.ZodDefault<z.ZodNumber>;
    /** Maximum number of pre-update backups to keep */
    maxBackups: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    enabled: boolean;
    backupDir: string;
    pluginsDir: string;
    retentionDays: number;
    maxBackups: number;
}, {
    enabled?: boolean | undefined;
    backupDir?: string | undefined;
    pluginsDir?: string | undefined;
    retentionDays?: number | undefined;
    maxBackups?: number | undefined;
}>;
/**
 * Schedule executor configuration schema
 * Controls automatic update execution within time windows
 */
export declare const ScheduleExecutorConfigSchema: z.ZodObject<{
    /** Whether scheduled execution is enabled */
    enabled: z.ZodDefault<z.ZodBoolean>;
    /** Time window for scheduled updates */
    window: z.ZodDefault<z.ZodObject<{
        start: z.ZodString;
        end: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        start: string;
        end: string;
    }, {
        start: string;
        end: string;
    }>>;
    /** Timezone for window calculations (IANA format) */
    timezone: z.ZodDefault<z.ZodString>;
    /** Days of week to run (0 = Sunday, 6 = Saturday) */
    daysOfWeek: z.ZodDefault<z.ZodArray<z.ZodNumber, "many">>;
    /** Skip major version updates in scheduled mode */
    skipMajorUpdates: z.ZodDefault<z.ZodBoolean>;
    /** Maximum updates per execution */
    maxUpdatesPerRun: z.ZodDefault<z.ZodNumber>;
    /** Auto-backup configuration (optional) */
    autoBackup: z.ZodOptional<z.ZodObject<{
        /** Whether to create a backup before executing updates */
        enabled: z.ZodDefault<z.ZodBoolean>;
        /** Directory to store backups */
        backupDir: z.ZodDefault<z.ZodString>;
        /** Directory containing plugins to backup */
        pluginsDir: z.ZodDefault<z.ZodString>;
        /** Number of days to keep pre-update backups (0 = keep forever) */
        retentionDays: z.ZodDefault<z.ZodNumber>;
        /** Maximum number of pre-update backups to keep */
        maxBackups: z.ZodDefault<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        enabled: boolean;
        backupDir: string;
        pluginsDir: string;
        retentionDays: number;
        maxBackups: number;
    }, {
        enabled?: boolean | undefined;
        backupDir?: string | undefined;
        pluginsDir?: string | undefined;
        retentionDays?: number | undefined;
        maxBackups?: number | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    enabled: boolean;
    window: {
        start: string;
        end: string;
    };
    timezone: string;
    daysOfWeek: number[];
    skipMajorUpdates: boolean;
    maxUpdatesPerRun: number;
    autoBackup?: {
        enabled: boolean;
        backupDir: string;
        pluginsDir: string;
        retentionDays: number;
        maxBackups: number;
    } | undefined;
}, {
    enabled?: boolean | undefined;
    window?: {
        start: string;
        end: string;
    } | undefined;
    timezone?: string | undefined;
    daysOfWeek?: number[] | undefined;
    skipMajorUpdates?: boolean | undefined;
    maxUpdatesPerRun?: number | undefined;
    autoBackup?: {
        enabled?: boolean | undefined;
        backupDir?: string | undefined;
        pluginsDir?: string | undefined;
        retentionDays?: number | undefined;
        maxBackups?: number | undefined;
    } | undefined;
}>;
/**
 * Notification channel enum
 */
export declare const NotificationChannelEnum: z.ZodEnum<["terminal", "desktop", "webhook"]>;
/**
 * Notification configuration schema (v1.51.3)
 * Controls notification delivery for scheduled updates
 */
export declare const NotificationConfigSchema: z.ZodObject<{
    /** Whether notifications are enabled */
    enabled: z.ZodDefault<z.ZodBoolean>;
    /** Channels to send notifications to */
    channels: z.ZodDefault<z.ZodArray<z.ZodEnum<["terminal", "desktop", "webhook"]>, "many">>;
    /** Webhook URL for Discord/Slack notifications */
    webhookUrl: z.ZodOptional<z.ZodString>;
    /** Path to store terminal notifications */
    notificationStorePath: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    enabled: boolean;
    channels: ("terminal" | "desktop" | "webhook")[];
    webhookUrl?: string | undefined;
    notificationStorePath?: string | undefined;
}, {
    enabled?: boolean | undefined;
    channels?: ("terminal" | "desktop" | "webhook")[] | undefined;
    webhookUrl?: string | undefined;
    notificationStorePath?: string | undefined;
}>;
/**
 * Per-plugin schedule configuration schema (v1.51.4)
 * Allows customizing schedule behavior for individual plugins
 */
export declare const PluginScheduleConfigSchema: z.ZodObject<{
    /** Override global time window for this plugin */
    window: z.ZodOptional<z.ZodObject<{
        start: z.ZodString;
        end: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        start: string;
        end: string;
    }, {
        start: string;
        end: string;
    }>>;
    /** Disable scheduled updates for this plugin */
    disabled: z.ZodOptional<z.ZodBoolean>;
    /** Delay updates for this many days after release */
    delayDays: z.ZodOptional<z.ZodNumber>;
    /** Auto-approve major version updates for this plugin */
    autoApproveMajor: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    window?: {
        start: string;
        end: string;
    } | undefined;
    disabled?: boolean | undefined;
    delayDays?: number | undefined;
    autoApproveMajor?: boolean | undefined;
}, {
    window?: {
        start: string;
        end: string;
    } | undefined;
    disabled?: boolean | undefined;
    delayDays?: number | undefined;
    autoApproveMajor?: boolean | undefined;
}>;
/**
 * Schedule overrides configuration schema (v1.51.4)
 * Global settings for blackout dates and per-plugin overrides
 */
export declare const ScheduleOverridesSchema: z.ZodObject<{
    /** Blackout dates (ISO format YYYY-MM-DD) when no updates should run */
    blackoutDates: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    /** Per-plugin schedule configurations */
    plugins: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
        /** Override global time window for this plugin */
        window: z.ZodOptional<z.ZodObject<{
            start: z.ZodString;
            end: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            start: string;
            end: string;
        }, {
            start: string;
            end: string;
        }>>;
        /** Disable scheduled updates for this plugin */
        disabled: z.ZodOptional<z.ZodBoolean>;
        /** Delay updates for this many days after release */
        delayDays: z.ZodOptional<z.ZodNumber>;
        /** Auto-approve major version updates for this plugin */
        autoApproveMajor: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        window?: {
            start: string;
            end: string;
        } | undefined;
        disabled?: boolean | undefined;
        delayDays?: number | undefined;
        autoApproveMajor?: boolean | undefined;
    }, {
        window?: {
            start: string;
            end: string;
        } | undefined;
        disabled?: boolean | undefined;
        delayDays?: number | undefined;
        autoApproveMajor?: boolean | undefined;
    }>>>;
    /** Auto-approve major version updates globally */
    autoApproveMajor: z.ZodDefault<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    plugins: Record<string, {
        window?: {
            start: string;
            end: string;
        } | undefined;
        disabled?: boolean | undefined;
        delayDays?: number | undefined;
        autoApproveMajor?: boolean | undefined;
    }>;
    autoApproveMajor: boolean;
    blackoutDates: string[];
}, {
    plugins?: Record<string, {
        window?: {
            start: string;
            end: string;
        } | undefined;
        disabled?: boolean | undefined;
        delayDays?: number | undefined;
        autoApproveMajor?: boolean | undefined;
    }> | undefined;
    autoApproveMajor?: boolean | undefined;
    blackoutDates?: string[] | undefined;
}>;
/**
 * Type inference for schedule executor config
 */
export type TimeWindowInput = z.input<typeof TimeWindowSchema>;
export type TimeWindowOutput = z.output<typeof TimeWindowSchema>;
export type AutoBackupConfigInput = z.input<typeof AutoBackupConfigSchema>;
export type AutoBackupConfigOutput = z.output<typeof AutoBackupConfigSchema>;
export type NotificationConfigInput = z.input<typeof NotificationConfigSchema>;
export type NotificationConfigOutput = z.output<typeof NotificationConfigSchema>;
export type PluginScheduleConfigInput = z.input<typeof PluginScheduleConfigSchema>;
export type PluginScheduleConfigOutput = z.output<typeof PluginScheduleConfigSchema>;
export type ScheduleOverridesInput = z.input<typeof ScheduleOverridesSchema>;
export type ScheduleOverridesOutput = z.output<typeof ScheduleOverridesSchema>;
export type ScheduleExecutorConfigInput = z.input<typeof ScheduleExecutorConfigSchema>;
export type ScheduleExecutorConfigOutput = z.output<typeof ScheduleExecutorConfigSchema>;
/**
 * Health check component weights schema
 */
export declare const HealthWeightsSchema: z.ZodObject<{
    version: z.ZodDefault<z.ZodNumber>;
    compatibility: z.ZodDefault<z.ZodNumber>;
    maintenance: z.ZodDefault<z.ZodNumber>;
    dependencies: z.ZodDefault<z.ZodNumber>;
    security: z.ZodDefault<z.ZodNumber>;
    stability: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    version: number;
    compatibility: number;
    maintenance: number;
    dependencies: number;
    security: number;
    stability: number;
}, {
    version?: number | undefined;
    compatibility?: number | undefined;
    maintenance?: number | undefined;
    dependencies?: number | undefined;
    security?: number | undefined;
    stability?: number | undefined;
}>;
/**
 * Health grade thresholds schema
 */
export declare const HealthGradeThresholdsSchema: z.ZodObject<{
    'A+': z.ZodDefault<z.ZodNumber>;
    A: z.ZodDefault<z.ZodNumber>;
    'B+': z.ZodDefault<z.ZodNumber>;
    B: z.ZodDefault<z.ZodNumber>;
    'C+': z.ZodDefault<z.ZodNumber>;
    C: z.ZodDefault<z.ZodNumber>;
    D: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    'A+': number;
    A: number;
    'B+': number;
    B: number;
    'C+': number;
    C: number;
    D: number;
}, {
    'A+'?: number | undefined;
    A?: number | undefined;
    'B+'?: number | undefined;
    B?: number | undefined;
    'C+'?: number | undefined;
    C?: number | undefined;
    D?: number | undefined;
}>;
/**
 * Health feature configuration schema
 */
export declare const HealthConfigSchema: z.ZodObject<{
    /** Whether health checks are enabled */
    enabled: z.ZodDefault<z.ZodBoolean>;
    /** Component weights for score calculation */
    weights: z.ZodOptional<z.ZodObject<{
        version: z.ZodDefault<z.ZodNumber>;
        compatibility: z.ZodDefault<z.ZodNumber>;
        maintenance: z.ZodDefault<z.ZodNumber>;
        dependencies: z.ZodDefault<z.ZodNumber>;
        security: z.ZodDefault<z.ZodNumber>;
        stability: z.ZodDefault<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        version: number;
        compatibility: number;
        maintenance: number;
        dependencies: number;
        security: number;
        stability: number;
    }, {
        version?: number | undefined;
        compatibility?: number | undefined;
        maintenance?: number | undefined;
        dependencies?: number | undefined;
        security?: number | undefined;
        stability?: number | undefined;
    }>>;
    /** Grade thresholds for letter grades */
    gradeThresholds: z.ZodOptional<z.ZodObject<{
        'A+': z.ZodDefault<z.ZodNumber>;
        A: z.ZodDefault<z.ZodNumber>;
        'B+': z.ZodDefault<z.ZodNumber>;
        B: z.ZodDefault<z.ZodNumber>;
        'C+': z.ZodDefault<z.ZodNumber>;
        C: z.ZodDefault<z.ZodNumber>;
        D: z.ZodDefault<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        'A+': number;
        A: number;
        'B+': number;
        B: number;
        'C+': number;
        C: number;
        D: number;
    }, {
        'A+'?: number | undefined;
        A?: number | undefined;
        'B+'?: number | undefined;
        B?: number | undefined;
        'C+'?: number | undefined;
        C?: number | undefined;
        D?: number | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    enabled: boolean;
    weights?: {
        version: number;
        compatibility: number;
        maintenance: number;
        dependencies: number;
        security: number;
        stability: number;
    } | undefined;
    gradeThresholds?: {
        'A+': number;
        A: number;
        'B+': number;
        B: number;
        'C+': number;
        C: number;
        D: number;
    } | undefined;
}, {
    enabled?: boolean | undefined;
    weights?: {
        version?: number | undefined;
        compatibility?: number | undefined;
        maintenance?: number | undefined;
        dependencies?: number | undefined;
        security?: number | undefined;
        stability?: number | undefined;
    } | undefined;
    gradeThresholds?: {
        'A+'?: number | undefined;
        A?: number | undefined;
        'B+'?: number | undefined;
        B?: number | undefined;
        'C+'?: number | undefined;
        C?: number | undefined;
        D?: number | undefined;
    } | undefined;
}>;
/**
 * Analytics/Performance feature configuration schema
 */
export declare const AnalyticsConfigSchema: z.ZodObject<{
    /** Whether analytics collection is enabled */
    enabled: z.ZodDefault<z.ZodBoolean>;
    /** Maximum raw samples to retain (default: 1440 = 24 hours at 1/min) */
    maxRawSamples: z.ZodDefault<z.ZodNumber>;
    /** Enable aggregation of metrics */
    aggregationEnabled: z.ZodDefault<z.ZodBoolean>;
    /** Retention periods in days */
    retentionDays: z.ZodOptional<z.ZodObject<{
        raw: z.ZodDefault<z.ZodNumber>;
        hourly: z.ZodDefault<z.ZodNumber>;
        daily: z.ZodDefault<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        raw: number;
        hourly: number;
        daily: number;
    }, {
        raw?: number | undefined;
        hourly?: number | undefined;
        daily?: number | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    enabled: boolean;
    maxRawSamples: number;
    aggregationEnabled: boolean;
    retentionDays?: {
        raw: number;
        hourly: number;
        daily: number;
    } | undefined;
}, {
    enabled?: boolean | undefined;
    retentionDays?: {
        raw?: number | undefined;
        hourly?: number | undefined;
        daily?: number | undefined;
    } | undefined;
    maxRawSamples?: number | undefined;
    aggregationEnabled?: boolean | undefined;
}>;
/**
 * Recommendations feature configuration schema
 */
export declare const RecommendationsConfigSchema: z.ZodObject<{
    /** Whether recommendations are enabled */
    enabled: z.ZodDefault<z.ZodBoolean>;
    /** Maximum number of recommendations to show */
    maxResults: z.ZodDefault<z.ZodNumber>;
    /** Minimum score threshold for recommendations (0-1) */
    minScore: z.ZodDefault<z.ZodNumber>;
    /** Categories to prefer in recommendations */
    preferredCategories: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    /** Categories to exclude from recommendations */
    excludedCategories: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    /** Enable/disable specific algorithms */
    algorithms: z.ZodOptional<z.ZodObject<{
        similar: z.ZodDefault<z.ZodBoolean>;
        complementary: z.ZodDefault<z.ZodBoolean>;
        popular: z.ZodDefault<z.ZodBoolean>;
        trending: z.ZodDefault<z.ZodBoolean>;
        missing: z.ZodDefault<z.ZodBoolean>;
        upgrade: z.ZodDefault<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        similar: boolean;
        complementary: boolean;
        popular: boolean;
        trending: boolean;
        missing: boolean;
        upgrade: boolean;
    }, {
        similar?: boolean | undefined;
        complementary?: boolean | undefined;
        popular?: boolean | undefined;
        trending?: boolean | undefined;
        missing?: boolean | undefined;
        upgrade?: boolean | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    enabled: boolean;
    maxResults: number;
    minScore: number;
    preferredCategories?: string[] | undefined;
    excludedCategories?: string[] | undefined;
    algorithms?: {
        similar: boolean;
        complementary: boolean;
        popular: boolean;
        trending: boolean;
        missing: boolean;
        upgrade: boolean;
    } | undefined;
}, {
    enabled?: boolean | undefined;
    maxResults?: number | undefined;
    minScore?: number | undefined;
    preferredCategories?: string[] | undefined;
    excludedCategories?: string[] | undefined;
    algorithms?: {
        similar?: boolean | undefined;
        complementary?: boolean | undefined;
        popular?: boolean | undefined;
        trending?: boolean | undefined;
        missing?: boolean | undefined;
        upgrade?: boolean | undefined;
    } | undefined;
}>;
/**
 * Alerts feature configuration schema
 */
export declare const AlertsConfigSchema: z.ZodObject<{
    /** Whether alerts are enabled */
    enabled: z.ZodDefault<z.ZodBoolean>;
    /** Enable desktop notifications */
    desktopNotifications: z.ZodDefault<z.ZodBoolean>;
    /** Webhook URL for alert notifications (Discord/Slack) */
    webhookUrl: z.ZodOptional<z.ZodString>;
    /** Alert cooldown multiplier (1.0 = default cooldowns) */
    cooldownMultiplier: z.ZodDefault<z.ZodNumber>;
    /** Maximum alerts per day */
    maxAlertsPerDay: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    enabled: boolean;
    desktopNotifications: boolean;
    cooldownMultiplier: number;
    maxAlertsPerDay: number;
    webhookUrl?: string | undefined;
}, {
    enabled?: boolean | undefined;
    webhookUrl?: string | undefined;
    desktopNotifications?: boolean | undefined;
    cooldownMultiplier?: number | undefined;
    maxAlertsPerDay?: number | undefined;
}>;
/**
 * Combined features configuration schema
 */
export declare const FeaturesConfigSchema: z.ZodObject<{
    health: z.ZodDefault<z.ZodObject<{
        /** Whether health checks are enabled */
        enabled: z.ZodDefault<z.ZodBoolean>;
        /** Component weights for score calculation */
        weights: z.ZodOptional<z.ZodObject<{
            version: z.ZodDefault<z.ZodNumber>;
            compatibility: z.ZodDefault<z.ZodNumber>;
            maintenance: z.ZodDefault<z.ZodNumber>;
            dependencies: z.ZodDefault<z.ZodNumber>;
            security: z.ZodDefault<z.ZodNumber>;
            stability: z.ZodDefault<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            version: number;
            compatibility: number;
            maintenance: number;
            dependencies: number;
            security: number;
            stability: number;
        }, {
            version?: number | undefined;
            compatibility?: number | undefined;
            maintenance?: number | undefined;
            dependencies?: number | undefined;
            security?: number | undefined;
            stability?: number | undefined;
        }>>;
        /** Grade thresholds for letter grades */
        gradeThresholds: z.ZodOptional<z.ZodObject<{
            'A+': z.ZodDefault<z.ZodNumber>;
            A: z.ZodDefault<z.ZodNumber>;
            'B+': z.ZodDefault<z.ZodNumber>;
            B: z.ZodDefault<z.ZodNumber>;
            'C+': z.ZodDefault<z.ZodNumber>;
            C: z.ZodDefault<z.ZodNumber>;
            D: z.ZodDefault<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            'A+': number;
            A: number;
            'B+': number;
            B: number;
            'C+': number;
            C: number;
            D: number;
        }, {
            'A+'?: number | undefined;
            A?: number | undefined;
            'B+'?: number | undefined;
            B?: number | undefined;
            'C+'?: number | undefined;
            C?: number | undefined;
            D?: number | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        enabled: boolean;
        weights?: {
            version: number;
            compatibility: number;
            maintenance: number;
            dependencies: number;
            security: number;
            stability: number;
        } | undefined;
        gradeThresholds?: {
            'A+': number;
            A: number;
            'B+': number;
            B: number;
            'C+': number;
            C: number;
            D: number;
        } | undefined;
    }, {
        enabled?: boolean | undefined;
        weights?: {
            version?: number | undefined;
            compatibility?: number | undefined;
            maintenance?: number | undefined;
            dependencies?: number | undefined;
            security?: number | undefined;
            stability?: number | undefined;
        } | undefined;
        gradeThresholds?: {
            'A+'?: number | undefined;
            A?: number | undefined;
            'B+'?: number | undefined;
            B?: number | undefined;
            'C+'?: number | undefined;
            C?: number | undefined;
            D?: number | undefined;
        } | undefined;
    }>>;
    analytics: z.ZodDefault<z.ZodObject<{
        /** Whether analytics collection is enabled */
        enabled: z.ZodDefault<z.ZodBoolean>;
        /** Maximum raw samples to retain (default: 1440 = 24 hours at 1/min) */
        maxRawSamples: z.ZodDefault<z.ZodNumber>;
        /** Enable aggregation of metrics */
        aggregationEnabled: z.ZodDefault<z.ZodBoolean>;
        /** Retention periods in days */
        retentionDays: z.ZodOptional<z.ZodObject<{
            raw: z.ZodDefault<z.ZodNumber>;
            hourly: z.ZodDefault<z.ZodNumber>;
            daily: z.ZodDefault<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            raw: number;
            hourly: number;
            daily: number;
        }, {
            raw?: number | undefined;
            hourly?: number | undefined;
            daily?: number | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        enabled: boolean;
        maxRawSamples: number;
        aggregationEnabled: boolean;
        retentionDays?: {
            raw: number;
            hourly: number;
            daily: number;
        } | undefined;
    }, {
        enabled?: boolean | undefined;
        retentionDays?: {
            raw?: number | undefined;
            hourly?: number | undefined;
            daily?: number | undefined;
        } | undefined;
        maxRawSamples?: number | undefined;
        aggregationEnabled?: boolean | undefined;
    }>>;
    recommendations: z.ZodDefault<z.ZodObject<{
        /** Whether recommendations are enabled */
        enabled: z.ZodDefault<z.ZodBoolean>;
        /** Maximum number of recommendations to show */
        maxResults: z.ZodDefault<z.ZodNumber>;
        /** Minimum score threshold for recommendations (0-1) */
        minScore: z.ZodDefault<z.ZodNumber>;
        /** Categories to prefer in recommendations */
        preferredCategories: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        /** Categories to exclude from recommendations */
        excludedCategories: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        /** Enable/disable specific algorithms */
        algorithms: z.ZodOptional<z.ZodObject<{
            similar: z.ZodDefault<z.ZodBoolean>;
            complementary: z.ZodDefault<z.ZodBoolean>;
            popular: z.ZodDefault<z.ZodBoolean>;
            trending: z.ZodDefault<z.ZodBoolean>;
            missing: z.ZodDefault<z.ZodBoolean>;
            upgrade: z.ZodDefault<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            similar: boolean;
            complementary: boolean;
            popular: boolean;
            trending: boolean;
            missing: boolean;
            upgrade: boolean;
        }, {
            similar?: boolean | undefined;
            complementary?: boolean | undefined;
            popular?: boolean | undefined;
            trending?: boolean | undefined;
            missing?: boolean | undefined;
            upgrade?: boolean | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        enabled: boolean;
        maxResults: number;
        minScore: number;
        preferredCategories?: string[] | undefined;
        excludedCategories?: string[] | undefined;
        algorithms?: {
            similar: boolean;
            complementary: boolean;
            popular: boolean;
            trending: boolean;
            missing: boolean;
            upgrade: boolean;
        } | undefined;
    }, {
        enabled?: boolean | undefined;
        maxResults?: number | undefined;
        minScore?: number | undefined;
        preferredCategories?: string[] | undefined;
        excludedCategories?: string[] | undefined;
        algorithms?: {
            similar?: boolean | undefined;
            complementary?: boolean | undefined;
            popular?: boolean | undefined;
            trending?: boolean | undefined;
            missing?: boolean | undefined;
            upgrade?: boolean | undefined;
        } | undefined;
    }>>;
    alerts: z.ZodDefault<z.ZodObject<{
        /** Whether alerts are enabled */
        enabled: z.ZodDefault<z.ZodBoolean>;
        /** Enable desktop notifications */
        desktopNotifications: z.ZodDefault<z.ZodBoolean>;
        /** Webhook URL for alert notifications (Discord/Slack) */
        webhookUrl: z.ZodOptional<z.ZodString>;
        /** Alert cooldown multiplier (1.0 = default cooldowns) */
        cooldownMultiplier: z.ZodDefault<z.ZodNumber>;
        /** Maximum alerts per day */
        maxAlertsPerDay: z.ZodDefault<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        enabled: boolean;
        desktopNotifications: boolean;
        cooldownMultiplier: number;
        maxAlertsPerDay: number;
        webhookUrl?: string | undefined;
    }, {
        enabled?: boolean | undefined;
        webhookUrl?: string | undefined;
        desktopNotifications?: boolean | undefined;
        cooldownMultiplier?: number | undefined;
        maxAlertsPerDay?: number | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    health: {
        enabled: boolean;
        weights?: {
            version: number;
            compatibility: number;
            maintenance: number;
            dependencies: number;
            security: number;
            stability: number;
        } | undefined;
        gradeThresholds?: {
            'A+': number;
            A: number;
            'B+': number;
            B: number;
            'C+': number;
            C: number;
            D: number;
        } | undefined;
    };
    analytics: {
        enabled: boolean;
        maxRawSamples: number;
        aggregationEnabled: boolean;
        retentionDays?: {
            raw: number;
            hourly: number;
            daily: number;
        } | undefined;
    };
    recommendations: {
        enabled: boolean;
        maxResults: number;
        minScore: number;
        preferredCategories?: string[] | undefined;
        excludedCategories?: string[] | undefined;
        algorithms?: {
            similar: boolean;
            complementary: boolean;
            popular: boolean;
            trending: boolean;
            missing: boolean;
            upgrade: boolean;
        } | undefined;
    };
    alerts: {
        enabled: boolean;
        desktopNotifications: boolean;
        cooldownMultiplier: number;
        maxAlertsPerDay: number;
        webhookUrl?: string | undefined;
    };
}, {
    health?: {
        enabled?: boolean | undefined;
        weights?: {
            version?: number | undefined;
            compatibility?: number | undefined;
            maintenance?: number | undefined;
            dependencies?: number | undefined;
            security?: number | undefined;
            stability?: number | undefined;
        } | undefined;
        gradeThresholds?: {
            'A+'?: number | undefined;
            A?: number | undefined;
            'B+'?: number | undefined;
            B?: number | undefined;
            'C+'?: number | undefined;
            C?: number | undefined;
            D?: number | undefined;
        } | undefined;
    } | undefined;
    analytics?: {
        enabled?: boolean | undefined;
        retentionDays?: {
            raw?: number | undefined;
            hourly?: number | undefined;
            daily?: number | undefined;
        } | undefined;
        maxRawSamples?: number | undefined;
        aggregationEnabled?: boolean | undefined;
    } | undefined;
    recommendations?: {
        enabled?: boolean | undefined;
        maxResults?: number | undefined;
        minScore?: number | undefined;
        preferredCategories?: string[] | undefined;
        excludedCategories?: string[] | undefined;
        algorithms?: {
            similar?: boolean | undefined;
            complementary?: boolean | undefined;
            popular?: boolean | undefined;
            trending?: boolean | undefined;
            missing?: boolean | undefined;
            upgrade?: boolean | undefined;
        } | undefined;
    } | undefined;
    alerts?: {
        enabled?: boolean | undefined;
        webhookUrl?: string | undefined;
        desktopNotifications?: boolean | undefined;
        cooldownMultiplier?: number | undefined;
        maxAlertsPerDay?: number | undefined;
    } | undefined;
}>;
/**
 * Type inference for feature config schemas
 */
export type HealthConfigInput = z.input<typeof HealthConfigSchema>;
export type HealthConfigOutput = z.output<typeof HealthConfigSchema>;
export type AnalyticsConfigInput = z.input<typeof AnalyticsConfigSchema>;
export type AnalyticsConfigOutput = z.output<typeof AnalyticsConfigSchema>;
export type RecommendationsConfigInput = z.input<typeof RecommendationsConfigSchema>;
export type RecommendationsConfigOutput = z.output<typeof RecommendationsConfigSchema>;
export type AlertsConfigInput = z.input<typeof AlertsConfigSchema>;
export type AlertsConfigOutput = z.output<typeof AlertsConfigSchema>;
export type FeaturesConfigInput = z.input<typeof FeaturesConfigSchema>;
export type FeaturesConfigOutput = z.output<typeof FeaturesConfigSchema>;
//# sourceMappingURL=schema.d.ts.map