/// <reference types="node" />
import { WriterMainTf } from './writer_main_tf';
import { WriterTfVarsJson } from './writer_tfvars_json';
import { WriterProviderJson } from './writer_provider_tf_json';
import { WriterAdditionalFiles } from './writer_additional_files';
import { PassThrough } from 'stream';
export declare class TFProjectManager {
    mainTfWriter: WriterMainTf;
    providerJsonWriter: WriterProviderJson;
    tfVarsJsonWriter: WriterTfVarsJson;
    additionalFilesWriter: WriterAdditionalFiles;
    secrets: any[];
    projectPath: string;
    tfOutput: any;
    stream: PassThrough;
    constructor(ctx: any);
    setStreamCallbacks(fnData: Function, fnEnd: (...args: any[]) => void, reopen?: boolean): void;
    getOutput(): any;
    build(): Promise<void>;
    __init(): Promise<void>;
    __initFromModule(): Promise<void>;
    validate(): Promise<void>;
    plan(format: 'human' | 'json'): Promise<void>;
    planDestroy(format: 'human' | 'json'): Promise<void>;
    apply(): Promise<void>;
    destroy(): Promise<void>;
    output(): Promise<unknown>;
}
