import { MethodDefinition, PackageDefinition, ServiceDefinition } from '@grpc/proto-loader';
import { IFieldDescriptor, IMessageDescriptor, MessageDefinitionMap } from '../interfaces';
export declare class PackageDefinitionReader {
    private readonly packageName;
    private readonly def;
    private readonly messageTypes;
    constructor(packageName: string, def: PackageDefinition);
    getPackageName(): string;
    getServiceDefinition(serviceName: string): ServiceDefinition | undefined;
    getMessageDescriptor(messageName: string): IMessageDescriptor;
    getMethodDefinition(serviceName: string, rpc: string): MethodDefinition<any, any> | undefined;
    getRequestFields(serviceName: string, rpc: string): IFieldDescriptor[];
    getResponseFields(serviceName: string, rpc: string): IFieldDescriptor[];
    private getFields;
    private loadMessageTypes;
    getMessageTypes(): MessageDefinitionMap;
}
