/**
 * Natural language data transformation service
 */
export interface TransformationChange {
    rowIndex: number;
    columnKey: string;
    columnIndex?: number;
    oldValue: any;
    newValue: any;
    confidence: number;
    selected: boolean;
}
export interface TransformationResponse {
    success: boolean;
    changes: TransformationChange[];
    summary: string;
    error?: string;
    tokensUsed?: number;
}
export interface ValidationError {
    rowIndex: number;
    columnKey: string;
    message: string;
    value?: any;
}
export interface TransformationRequest {
    prompt: string;
    data: any[];
    columnMapping: Record<string, any>;
    targetColumns?: string[];
    validationErrors?: ValidationError[];
}
/**
 * Generate data transformations based on natural language prompt
 *
 * @param prompt - Natural language description of the transformation
 * @param data - Current data rows
 * @param columnMapping - Mapping of columns
 * @param backendUrl - Backend API URL
 * @param importerKey - Importer key for authentication
 * @param targetColumns - Optional specific columns to transform
 * @param validationErrors - Optional validation errors for context
 * @returns Transformation preview with changes
 */
export declare function generateTransformations(prompt: string, data: any[], columnMapping: Record<string, any>, backendUrl: string, importerKey: string, targetColumns?: string[], validationErrors?: ValidationError[]): Promise<TransformationResponse>;
/**
 * Apply selected transformations to the data
 *
 * @param data - Original data rows
 * @param changes - List of transformation changes
 * @param onlySelected - Whether to apply only selected changes
 * @returns Modified data with transformations applied
 */
export declare function applyTransformations(data: any[], changes: TransformationChange[], onlySelected?: boolean): any[];
/**
 * Count selected changes
 */
export declare function countSelectedChanges(changes: TransformationChange[]): number;
/**
 * Toggle selection for a specific change
 */
export declare function toggleChangeSelection(changes: TransformationChange[], index: number): TransformationChange[];
/**
 * Select or deselect all changes
 */
export declare function setAllChangesSelection(changes: TransformationChange[], selected: boolean): TransformationChange[];
/**
 * Common transformation prompts for quick access
 */
export declare const COMMON_PROMPTS: string[];
