import type { Lens } from "../lens/Lens"; import type { LensState } from "../session/lensState"; import type { SessionState } from "../session/sessionState"; import type { Uri, UriHandler, UriRequest, UriResponse } from "./UriHandlers"; export type UriRequestEvent = { request: UriRequest; reply: (response: UriResponse) => void; lens: Lens; }; /** * Represents a Remote API request cancellation handler function. */ export type RemoteApiCancelRequestHandler = () => void; export type CreateLensRequestState = (request: UriRequest, lens: Lens) => State; export type ProcessRequest = (input: { request: UriRequest; reply: (response: UriResponse) => void; lens: Lens; setCancellationHandler: (fn: () => void) => void; state: State; }) => void; export type ProcessError = (error: Error) => void; /** * Creates a UriHandler for the provided URI. * Handles lens and sessions state events, so provides clear abstraction for internal usages. * * @internal */ export declare function createUriRequestProcessor({ uri, lensState, sessionState, createLensRequestState, processRequest, processInternalError, }: { uri: Uri | Uri[]; lensState: LensState; sessionState: SessionState; createLensRequestState?: CreateLensRequestState; processRequest: ProcessRequest; processInternalError: ProcessError; }): UriHandler; //# sourceMappingURL=uriRequestProcessor.d.ts.map