import { SourceFile } from 'ts-morph';
export declare class MorphTsBuilder {
    private _filePath;
    private _sourceFile;
    constructor(_filePath: string);
    intialStep(steps: Array<MorphBuilderInitialStepType | MorphBuilderInitialStepVariable | MorphBuilderInitialStepModule | MorphBuilderInitialDefaultAssignment>): MorphTs;
}
export declare class MorphTs {
    private _steps;
    private _sourceFile;
    private _filePath;
    private _currentStep;
    constructor(_steps: Array<MorphBuilderInitialStepType | MorphBuilderInitialStepVariable | MorphBuilderInitialStepModule | MorphBuilderInitialDefaultAssignment>, _sourceFile: SourceFile, _filePath: string);
    nextStep(step: MorphTsNextStep): this;
    replaceStep(step: MorphTsReplaceStep): this;
    save(): void;
}
export interface MorphTsNextStep {
    propertyName: string;
    isRequired?: boolean;
}
export interface MorphTsReplaceStep {
    propertyName: string;
    replaceObject: any;
}
export interface MorphBuilderInitialStepVariable {
    initialVariable: string;
}
export interface MorphBuilderInitialStepType {
    initialVariableType: string;
}
export interface MorphBuilderInitialStepModule {
    initialModule: string;
}
export interface MorphBuilderInitialDefaultAssignment {
}
//# sourceMappingURL=morph-ts-builder.d.ts.map