import { EndpointDescription, EndpointBehavior } from "../description/endpointDescription";
import { DispatchEndpoint, FaultFormatter, OperationSelector } from "../dispatcher/dispatchEndpoint";
import { MessageFilter } from "../dispatcher/messageFilter";
import { MessageFormatter } from "../dispatcher/dispatchOperation";
import { OperationDescription } from "../description/operationDescription";
/**
 * Endpoint behavior that enables RPC communication on an endpoint.
 *
 * <uml>
 *  hide members
 *  hide circle
 *  EndpointBehavior <|.. RpcBehavior
 * </uml>
 */
export declare class RpcBehavior implements EndpointBehavior {
    applyEndpointBehavior(description: EndpointDescription, endpoint: DispatchEndpoint): void;
    protected createFaultFormatter(): FaultFormatter;
    protected createMessageFilter(endpoint: DispatchEndpoint): MessageFilter;
    protected createOperationSelector(description: EndpointDescription, endpoint: DispatchEndpoint): OperationSelector;
    protected createMessageFormatter(endpoint: DispatchEndpoint, operation: OperationDescription): MessageFormatter;
}
