import { ConvoKitTargetUser } from './types/ConvoKitTypes.js';
/**
 * Shape of the ConvoKit configuration.
 */
export interface ConvoKitConfig {
    /** Name of the input data directory (relative to project root). */
    inputDataDirName: string;
    /** Name of the output data directory. */
    outputDataDirName: string;
    /** List of target user IDs per provider for context processing. */
    targetUsers: ConvoKitTargetUser[];
    /** Number of samples for weighted sampling. */
    sampleSize: number;
    /** System prompt used in ChatML/Gemini exports. */
    systemPrompt: string;
    /** optional, Minimum importance score for a conversation to be included in CKContext (0-10000+). Default: 120 */
    minImportanceChat?: number;
    /** optional, Minimum importance score for a single message to be included in CKContext (0-10000+). Default: 100 */
    minImportanceMessage?: number;
    /** optional, Enable or disable debug logs */
    enableDebugging?: boolean;
    /** optional, Enable or disable performance stats (timers) */
    enablePerformanceStats?: boolean;
    /** optional, Whether or not if we should merge consecutive messages when converting to CKTurnList */
    shouldMergeConsecutiveMessages?: boolean;
    /** optional, Whether or not to show warnings */
    enableWarnings?: boolean;
    /** optional, Whether or not we should anonymize provider conversation ids */
    anonymizeProviderConversationIds?: boolean;
    /** optional, where to load local providers from */
    localProvidersDir?: string;
    /** optional, where to load local formatters from */
    localPluginsDir?: string;
}
/**
 * Loads and validates ConvoKit configuration from a JSON file and environment variables.
 * @throws Error if required configuration is missing or invalid.
 */
export declare function loadConfig(): Promise<ConvoKitConfig>;
/**
 * Retrieves the loaded ConvoKit configuration synchronously.
 * @throws Error if configuration is not loaded yet.
 */
export declare function getConfig(): ConvoKitConfig;
//# sourceMappingURL=ConvoKitConfig.d.ts.map