import { CKTurnListConversation, ConvoKitConversation } from "./ck/types/ConvoKitTypes.js";
import { CKContextOptions, CKContextResult } from './ck/internal_plugins/formatters/ConvoKitContext.js';
export * from './ck/types/ConvoKitTypes.js';
export * from './ck/types/ConvoKitProvider.js';
export * from './ck/types/PluginTypes.js';
export * from './ck/ConvoKitConfig.js';
export * from './ck/ConvoKitLogging.js';
export * from './ck/ProviderRegistry.js';
export * from './ck/PluginRegistry.js';
export declare class ConvoKit {
    private loadedProviderModules;
    private convoKitFormattedData;
    private ckContextResult;
    private ckTurnListConversations;
    private sampledConversations;
    constructor();
    /**
     * Load a provider module from a file.
     * @param filePath Path to the provider module file.
     */
    addProviderFromFile(filePath: string): Promise<void>;
    /**
     * Dynamically loads all plugin modules so they self-register.
     */
    private loadPlugins;
    /**
     * Anonymizes provider data by renaming files in the input data directory.
     */
    anonymizeProviderData(): Promise<void>;
    loadProviders(): Promise<void>;
    processDataFromProviders(): Promise<ConvoKitConversation[]>;
    parseToContext(options: CKContextOptions): Promise<CKContextResult>;
    convertToCKTurnList(): Promise<CKTurnListConversation[]>;
    getWeightedSample(samples: number): Promise<CKTurnListConversation[]>;
    exportToChatML(systemPrompt: string): Promise<string[]>;
    exportToGemini(systemPrompt: string): Promise<string[]>;
    /**
     * List registered provider IDs.
     */
    listProviders(): string[];
    /**
     * List all registered formatter plugin IDs.
     */
    listFormatters(): string[];
    /**
     * List all registered converter plugin IDs.
     */
    listConverters(): string[];
    /**
     * List all registered filter plugin IDs.
     */
    listFilters(): string[];
    /**
     * Runs a registered formatter plugin by ID on current formatted data.
     * @param id Formatter plugin ID.
     * @param options Optional context options.
     */
    runFormatter(id: string, options?: CKContextOptions): Promise<CKContextResult>;
    /**
     * Runs a registered converter plugin by ID on current sampled conversations.
     * @param id Converter plugin ID.
     * @param systemPrompt System prompt string for converter.
     */
    runConverter(id: string, systemPrompt: string): Promise<string[]>;
    /**
     * Tests a content string against a registered filter plugin.
     * @param id Filter plugin ID.
     * @param content Message content to test.
     * @returns True if content passes the filter, false otherwise.
     */
    runFilter(id: string, content: string): boolean;
    getFormattedData(): ConvoKitConversation[];
    getContextResult(): CKContextResult | null;
    getIntermediateConversations(): CKTurnListConversation[];
    getSampledConversations(): CKTurnListConversation[];
}
//# sourceMappingURL=index.d.ts.map