/// <reference types="node" />
import { PassThrough } from 'stream';
export declare class Resource {
    data: any;
    output: string;
    logStream: PassThrough;
    logFn: Function;
    synthStreamCallbacks: any;
    tfStreamCallbacks: any;
    setLogger(fn: Function): void;
    setSynthStreamLogs(callbacks: any): void;
    setTFStreamLogs(callbacks: any): void;
    onSyncStreaming(): Promise<void>;
    onTFStreaming(): Promise<void>;
    setLogStream(fnData: Function, fnEnd: Function, reopen?: boolean): void;
    constructor(mainCR: any, operation: string, deps?: any[]);
    run(options?: {
        planOnly?: boolean;
    }): Promise<void>;
    artifact(): any;
    synth(): Promise<void>;
    log(msg: string): void;
    runTerraformPlanOnly(): Promise<void>;
    runTerraform(): Promise<void>;
    preprocess(): Promise<void>;
    postprocess(): Promise<void>;
    crs(): void;
    env(): void;
    set(k: string, v: any): void;
    get(k: string): any;
}
