import { FileBuilder } from "./FileBuilder"; interface Method { requestType: string; responseType: string; requestStream?: boolean; responseStream?: boolean; } interface ServiceMethodChain { [key: string]: { nested: ServiceMethodChain; method?: Method & { namespace: string; }; }; } interface RawProtos { methods?: { [key: string]: Method; }; nested?: { [key: string]: RawProtos; }; } export declare class ProtoCli { protoPackagePath: string; protoFiles: string[]; rawProtos: RawProtos; serviceMethodChain: ServiceMethodChain; argv: string[]; outputDirectory: string; keepCase: boolean; forceLong: boolean; forceNumber: boolean; includePaths: string[]; constructor(argv: string[]); get numberConversion(): string; get includeDirectoryArgs(): string[]; run(): Promise; exitWithError(message: string, error?: Error | unknown): void; logFileWritten(filename: string): void; parseArgv(): Promise; writeRawProtos(): Promise; writeProtosJs(): Promise; writeProtosTypes(): Promise; compileServiceMethods(rawProto: RawProtos, chain: string[]): void; writeClientJs(): Promise; clientJsMethodChain(serviceChain: ServiceMethodChain, fileContents: FileBuilder): void; writeClientTypes(): Promise; clientTypesMethodChain(serviceChain: ServiceMethodChain, fileContents: FileBuilder): void; } /** * CLI auto runner, parses process.ARGV and runs from there */ export declare function cli(): Promise; export {}; //# sourceMappingURL=cli.d.ts.map