/** @packageDocumentation
 * @module RpcInterface
 */
import { IModelRpcProps } from "../../IModel";
import { RpcOperation } from "../core/RpcOperation";
import { SerializedRpcOperation, SerializedRpcRequest } from "../core/RpcProtocol";
import { RpcRequest } from "../core/RpcRequest";
import { OpenAPIParameter } from "./OpenAPI";
import { WebAppRpcProtocol } from "./WebAppRpcProtocol";
import { SerializedRpcActivity } from "../core/RpcInvocation";
/** An http protocol for Bentley cloud RPC interface deployments.
 * @internal
 */
export declare abstract class BentleyCloudRpcProtocol extends WebAppRpcProtocol {
    checkToken: boolean;
    /** The name of various HTTP request headers based on client's request context */
    serializedClientRequestContextHeaderNames: SerializedRpcActivity;
    /** The name of the RPC protocol version header. */
    protocolVersionHeaderName: string;
    /** Returns the operation specified by an OpenAPI-compatible URI path. */
    getOperationFromPath(path: string): SerializedRpcOperation;
    /** Supplies the OpenAPI-compatible URI path for an RPC operation. */
    supplyPathForOperation(operation: RpcOperation, request: RpcRequest | undefined): string;
    /**
     * Inflates the IModelRpcProps from the URL path for each request on the backend.
     * @note This function updates the IModelRpcProps value supplied in the request body.
     */
    inflateToken(tokenFromBody: IModelRpcProps, request: SerializedRpcRequest): IModelRpcProps;
    /** Returns the OpenAPI-compatible URI path parameters for an RPC operation.
     * @internal
     */
    supplyPathParametersForOperation(_operation: RpcOperation): OpenAPIParameter[];
}
//# sourceMappingURL=BentleyCloudRpcProtocol.d.ts.map