import { Alias, AnyType, BaseVisitor, Context, Enum, Type, Union, Field, Writer } from "@apexlang/core/model"; import { Import } from "./alias_visitor.js"; export declare type NamedType = Alias | Type | Union | Enum; export declare class GRPCVisitor extends BaseVisitor { private input; private output; private aliases; visitNamespaceBefore(context: Context): void; visitInterfaceBefore(context: Context): void; visitOperation(context: Context): void; visitNamespaceAfter(context: Context): void; writeOutputType(t: Type): void; writeOutputUnion(union: Union): void; writeInputType(t: Type): void; writeInput(f: Field, from: string, allowPtr: boolean): string; writeInputField(f: Field): void; writeInputUnion(union: Union): void; } export declare class InputOutputVisitor extends BaseVisitor { imports: Set; input: { [name: string]: NamedType; }; output: { [name: string]: NamedType; }; private aliases; constructor(writer: Writer, aliases: { [key: string]: Import; }); visitOperation(context: Context): void; visitParameter(context: Context): void; checkSingleType(a: AnyType): void; checkType(context: Context, a: AnyType, m: { [name: string]: AnyType; }, types?: Set): void; } //# sourceMappingURL=grpc_visitor.d.ts.map