import URI from "urijs";
import { MapStringTo } from "../base-types";
import { IExtendedContentHubClient } from "./extended-client";
import { CancelCallback } from "./internal-client";
import { RequestMessage } from "./request-message";
import { ResponseMessage } from "./response-message";
export interface IRawClient {
    getAsync<T>(uri: string | URI, headers?: MapStringTo<string>, cancelCallback?: CancelCallback): Promise<ResponseMessage<T>>;
    postAsync<T, K>(uri: string | URI, content?: T, headers?: MapStringTo<string>, cancelCallback?: CancelCallback): Promise<ResponseMessage<K>>;
    putAsync<T, K>(uri: string | URI, content?: T, headers?: MapStringTo<string>, cancelCallback?: CancelCallback): Promise<ResponseMessage<K>>;
    deleteAsync<T>(uri: string | URI, headers?: MapStringTo<string>, cancelCallback?: CancelCallback): Promise<ResponseMessage<T>>;
    sendAsync<T, K>(messageFactory: () => RequestMessage, cancelCallback?: CancelCallback): Promise<ResponseMessage<K>>;
}
export declare class RawClient implements IRawClient {
    private readonly _client;
    constructor(client: IExtendedContentHubClient);
    getAsync<T = any>(uri: string | URI, headers?: MapStringTo<string>, cancelCallback?: CancelCallback): Promise<ResponseMessage<T>>;
    postAsync<T = any, K = any>(uri: string | URI, content: unknown, headers?: MapStringTo<string>, cancelCallback?: CancelCallback): Promise<ResponseMessage<K>>;
    putAsync<T = any, K = any>(uri: string | URI, content: unknown, headers?: MapStringTo<string>, cancelCallback?: CancelCallback): Promise<ResponseMessage<K>>;
    deleteAsync<T = any>(uri: string | URI, headers?: MapStringTo<string>, cancelCallback?: CancelCallback): Promise<ResponseMessage<T>>;
    sendAsync<T = any, K = any>(messageFactory: () => RequestMessage<T>, cancelCallback?: CancelCallback): Promise<ResponseMessage<K>>;
}
