import type { RemoteApiSpecsClient } from "../../clients/remoteApiSpecsClient";
import type { Lens } from "../../lens/Lens";
import type { LensState } from "../../session/lensState";
import type { SessionState } from "../../session/sessionState";
import type { LensHttpHandler } from "../../configuration";
import type { UriHandler, UriRequest, UriResponse } from "../UriHandlers";
import type { RemoteApiSpec } from "../../generated-proto/pb_schema/camera_kit/v3/remote_api_spec";
/**
 *
 * @internal
 *
 * @param lensState
 * @param sessionState
 * @param remoteApiSpecsClient
 * @param clientLentHttpRequestHandler
 * @returns
 */
export declare function createHttpUriHandler(lensState: LensState, sessionState: SessionState, remoteApiSpecsClient: RemoteApiSpecsClient, customLentFetchHandler: LensHttpHandler | undefined): UriHandler;
/**
 *
 * @internal
 *
 * @param request
 * @param lens
 * @param reply
 * @param setCancellationHandler
 * @param allowlist
 * @param clientLensHttpRequestHandler
 */
export declare function handleHttpUriRequest(request: UriRequest, lens: Lens, reply: (response: UriResponse) => void, setCancellationHandler: (fn: () => void) => void, allowlist: RemoteApiSpec[], customLensHttpHandler: LensHttpHandler | undefined): Promise<void>;
/**
 * @internal
 */
export declare function mapLensToFetchRequest({ uri, method, metadata, data }: UriRequest): {
    url: string;
    init: RequestInit;
};
/**
 * @internal
 */
export declare function mapFetchToLensResponse(response: Response): Promise<UriResponse>;
//# sourceMappingURL=httpUriHandler.d.ts.map