export interface RunOptions {
    repo?: string;
    localPath?: string;
    token?: string;
    branch: string;
    output: string;
    openaiKey?: string;
    model: string;
    cleanup: boolean;
    iterative?: boolean;
    numMutants?: number;
    includePatterns?: string[];
    excludePatterns?: string[];
    solcRemappings?: string[];
}
export interface MutationConfig {
    repository?: {
        url?: string;
        local_path?: string;
        branch?: string;
        token?: string;
    };
    openai?: {
        api_key?: string;
        model?: string;
    };
    output?: {
        directory?: string;
        cleanup?: boolean;
    };
    testing?: {
        iterative?: boolean;
        num_mutants?: number;
    };
    files?: {
        include?: string[];
        exclude?: string[];
    };
    solidity?: {
        remappings?: string[];
    };
}
export interface MutationResult {
    file: string;
    line: number;
    column: number;
    mutationType: string;
    original: string;
    mutated: string;
    status: 'killed' | 'survived' | 'timeout' | 'error';
    testOutput?: string;
    killReason?: string;
    mutantId?: string;
    timestamp?: string;
}
export interface MutationSession {
    sessionId: string;
    timestamp: string;
    projectPath: string;
    config: MutationConfig;
    iterations: MutationIteration[];
    summary: MutationSummary;
}
export interface MutationIteration {
    iterationNumber: number;
    timestamp: string;
    mutationResults: MutationResult[];
    generatedTests?: GeneratedTest[];
    stats: {
        total: number;
        killed: number;
        survived: number;
        timeout: number;
        error: number;
    };
}
export interface TestGap {
    mutationResult: MutationResult;
    context: string;
    suggestedTest?: string;
}
export interface GeneratedTest {
    fileName: string;
    content: string;
    description: string;
    targetedMutations: MutationResult[];
}
export interface MutationSummary {
    totalMutations: number;
    killedMutations: number;
    survivedMutations: number;
    mutationScore: number;
    gaps: TestGap[];
    generatedTests: GeneratedTest[];
}
//# sourceMappingURL=index.d.ts.map