import { ClientDefinition, IMessageDescriptor, IServiceMethodDescriptor, ServiceMethods } from './interfaces';
import { IFieldDescriptor, MessageDefinitionMap } from '../interfaces';
declare class ClientMethodDefinition {
    private readonly def;
    constructor(def: IServiceMethodDescriptor);
    getRequestFields(): IFieldDescriptor[];
    getResponseFields(): IFieldDescriptor[];
}
declare class ClientServiceDefinition {
    private readonly def;
    constructor(def: ServiceMethods);
    getMethod(name: string): ClientMethodDefinition | undefined;
}
export declare class ClientDefinitionReader {
    private readonly def;
    private readonly messageTypes;
    constructor(def: ClientDefinition);
    private loadMessageTypes;
    getServiceMethods(name: string): ClientServiceDefinition | undefined;
    getMessage(name: string): IMessageDescriptor | undefined;
    getMessageTypes(): MessageDefinitionMap;
}
export {};
