import { IAssistantSourceSnapshot, TAssistantSourceTestResult } from './types';
import { Cobertura } from '../cobertura';
import { Project } from '../project';
import { File } from '../file';
import { Spec } from '../spec';
export declare class AssistantSource {
    private provided;
    id: string;
    status: "PASSED" | "FAILED" | "PENDING";
    cobertura: Cobertura;
    project: Project;
    temp: string;
    code: File;
    spec: Spec;
    target: number;
    timestamp: number;
    iteration: number;
    private saved;
    constructor(provided: Pick<AssistantSource, 'id' | 'code' | 'spec' | 'cobertura' | 'temp'> & {
        project: Project;
        target?: number;
    });
    refresh(): this;
    checkHasReachedCoverage(): boolean;
    compileSnapshot(): IAssistantSourceSnapshot;
    /** Saves current current state snapshot */
    save(): this;
    /** Restores latest/provided state snapshot */
    restore(provided?: IAssistantSourceSnapshot): Promise<this>;
    test(title?: string): Promise<TAssistantSourceTestResult>;
    static build(location: string, options?: {
        cwd?: string;
        rate?: number;
        target?: number;
    }): Promise<AssistantSource>;
}
//# sourceMappingURL=source.d.ts.map