import { MethodDefinition, PackageDefinition, ServiceDefinition } from '@grpc/proto-loader';
import { IField, IFoundField, IMessageDefinition } from '../interfaces';
export declare class GrpcPackageDefinitionService {
    private packageDefinition;
    private packageName;
    setPackageDefinition(pkg: PackageDefinition, packageName: string): void;
    getPackageDefinition(): PackageDefinition;
    getPackageName(): string;
    getServiceDefinition(serviceName: string): ServiceDefinition | undefined;
    getMessageDefinition(messageName: string): IMessageDefinition;
    getMethodDefinition(serviceName: string, rpc: string): MethodDefinition<any, any> | undefined;
    getRequestFields(serviceName: string, rpc: string): IField[];
    getResponseFields(serviceName: string, rpc: string): IField[];
    private getFields;
    findFieldsByType(fields: IField[], typeName: string): IFoundField[];
}
