export interface OutputContentBuilder {
    build: () => string;
    writeSync: (dryRun: boolean) => void;
}
export declare class SimpleContentBuilder implements OutputContentBuilder {
    private outputModulePath;
    private suffix;
    static get(contentMap: Map<string, OutputContentBuilder>, suffix: string, outputModulePath: string): SimpleContentBuilder;
    private contentList;
    constructor(outputModulePath: string, suffix: string);
    push(...newContent: Array<string>): void;
    build(): string;
    writeSync(dryRun: boolean): void;
}
export declare class TsContentBuilder implements OutputContentBuilder {
    private baseDefinitionModulePath;
    private outputModulePath;
    static get(contentMap: Map<string, OutputContentBuilder>, definitionModulePath: string, outputModulePath?: string): TsContentBuilder;
    private pathToNamedImports;
    private namedImportToPaths;
    private contentList;
    private outputModuleDirPath;
    private sameModuleImportPath;
    constructor(baseDefinitionModulePath: string, outputModulePath: string);
    push(...newContent: Array<string>): void;
    importFromDatastoreModelDescriptor(...namedImports: Array<string>): void;
    importFromMessageDescriptor(...namedImports: Array<string>): void;
    importFromMessageSerializer(...namedImports: Array<string>): void;
    importFromObservableDescriptor(...namedImports: Array<string>): void;
    importFromServiceDescriptor(...namedImports: Array<string>): void;
    importFromServiceClientRequestInterface(...namedImports: Array<string>): void;
    importFromServiceRemoteCallHandlerInterface(...namedImports: Array<string>): void;
    importFromObservableArray(...namedImports: Array<string>): void;
    importFromSpanner(...namedImports: Array<string>): void;
    importFromSpannerTransaction(...namedImports: Array<string>): void;
    importFromStream(...namedImports: Array<string>): void;
    importFromDefinition(definitionModulePath: string | undefined, ...namedImports: Array<string>): void;
    private importFrom;
    build(): string;
    writeSync(dryRun: boolean): void;
}
