export interface ContextTransferConfig {
    maxContextLength?: number;
    defaultSummaryLength?: number;
    includeMetadata?: boolean;
    preserveFormatting?: boolean;
    smartTruncation?: boolean;
    contextCompression?: boolean;
}
export interface TransferOptions {
    lastN?: number;
    includeSummary?: boolean;
    summaryType?: 'concise' | 'detailed' | 'structured';
    smartExtraction?: boolean;
    outputFormat?: 'txt' | 'json' | 'markdown';
    includeMetadata?: boolean;
    includeCodeContext?: boolean;
    includeReasoning?: boolean;
    includeSafety?: boolean;
    includeCreativity?: boolean;
    includeExamples?: boolean;
    includeStepByStep?: boolean;
    includeMultimodal?: boolean;
    includeWebSearch?: boolean;
}
export interface ModelCapabilities {
    name: string;
    supportedFormats: string[];
    maxContextLength: number;
    supportsCode: boolean;
    supportsImages: boolean;
    supportsTools: boolean;
}
export interface TransferResult {
    success: boolean;
    formattedPrompt?: string;
    metadata?: {
        sourceModel: string;
        targetModel: string;
        summaryType: string;
        smartExtraction: boolean;
        messagesProcessed: number;
        messagesExtracted: number;
        promptLength: number;
        createdAt: string;
        outputFormat: string;
        modelCapabilities?: {
            source: ModelCapabilities;
            target: ModelCapabilities;
        };
        transferIndex?: number;
    };
    error?: string;
    errorType?: string;
}
export interface ConversationMessage {
    role: 'user' | 'assistant' | 'system';
    content: string;
}
export interface ValidationResult {
    success: boolean;
    valid: boolean;
    analysis?: {
        totalMessages: number;
        userMessages: number;
        assistantMessages: number;
        systemMessages: number;
        unknownMessages: number;
        averageMessageLength: number;
        hasSystemContext: boolean;
    };
    recommendations?: string[];
    error?: string;
    errorType?: string;
}
export declare class ContextTransferManager {
    private supportedModels;
    private config;
    constructor(config?: ContextTransferConfig);
    extractContext(messages: ConversationMessage[], lastN?: number, smartExtraction?: boolean): Promise<ConversationMessage[]>;
    private smartExtractContext;
    private isImportantContext;
    summarizeContext(messages: ConversationMessage[], summaryType?: string): Promise<string>;
    private createConciseSummary;
    private createDetailedSummary;
    private createStructuredSummary;
    loadConversationFromFile(filePath: string, formatType?: string): Promise<ConversationMessage[]>;
    private detectFileFormat;
    private loadJsonConversation;
    private loadTextConversation;
    private loadMarkdownConversation;
    saveFormattedPrompt(content: string, outputFile: string, formatType?: string): Promise<void>;
    private saveTextPrompt;
    private saveJsonPrompt;
    private saveMarkdownPrompt;
    transferContext(fromModel: string, toModel: string, inputFile: string, outputFile: string, lastN?: number, includeSummary?: boolean, summaryType?: string, smartExtraction?: boolean, outputFormat?: string, options?: Record<string, any>): Promise<string>;
    formatForTargetModel(targetModel: string, summary: string, sourceModel: string, options?: Record<string, any>): Promise<string>;
    private getAdapter;
    private formatGeneric;
    getSupportedModels(): string[];
    getModelInfo(modelName: string): Promise<ModelCapabilities>;
    listAllModels(): Promise<Record<string, ModelCapabilities>>;
}
export declare class ContextTransferAPI {
    private manager;
    private supportedFormats;
    private supportedModels;
    constructor();
    transferContextAPI(sourceModel: string, targetModel: string, conversationData: string | ConversationMessage[] | Record<string, any>, options?: TransferOptions): Promise<TransferResult>;
    private processConversationData;
    getSupportedModels(): Promise<Record<string, any>>;
    getModelCapabilities(modelName: string): Promise<Record<string, any>>;
    validateConversationFormat(data: string | ConversationMessage[] | Record<string, any>): Promise<ValidationResult>;
    private generateRecommendations;
    batchTransfer(transfers: Array<{
        sourceModel: string;
        targetModel: string;
        conversationData: string | ConversationMessage[] | Record<string, any>;
        options?: TransferOptions;
    }>): Promise<Record<string, any>>;
    createChromeExtensionConfig(): Record<string, any>;
}
export declare function quickTransfer(sourceModel: string, targetModel: string, conversationData: string | ConversationMessage[] | Record<string, any>, options?: Record<string, any>): Promise<string>;
export declare function getAllModels(): Promise<Record<string, any>>;
export declare function validateConversation(data: string | ConversationMessage[] | Record<string, any>): Promise<ValidationResult>;
//# sourceMappingURL=contextTransfer.d.ts.map