import { ResultCallback } from "../common/callbackUtil";
import { Message } from "../message";
import { OperationDescription } from "../description/operationDescription";
import { DispatchEndpoint } from "./dispatchEndpoint";
import { MessageFormatter } from "./dispatchOperation";
/**
 * @hidden
 */
export declare class RestMessageFormatter implements MessageFormatter {
    private _bodyParameter;
    private _parameters;
    private _cast;
    private _template;
    constructor(endpoint: DispatchEndpoint, operation: OperationDescription);
    /**
     * Checks to see if parameter is annotated with @Body
     * @param parameter Parameter to check.
     * @hidden
     */
    private _checkForInjectBody(parameter);
    deserializeRequest(message: Message, callback: ResultCallback<any[]>): void;
    serializeReply(result: any, callback: ResultCallback<Message>): void;
}
