import type { Uri, UriCancelRequest, UriRequest, UriResponse } from "../lens-core-module/generated-types"; import type { Lens } from "../lens/Lens"; export declare function extractSchemeAndRoute(uri: Uri): { scheme: string; route: string; }; export declare function isUriHandlers(value: unknown): value is UriHandlers; export declare function isUriResponse(value: unknown): value is UriResponse; /** * Provides a way for a lens to call into external services that work under HTTP-like protocol. * @internal */ export interface UriHandler { /** * [scheme]://[route] pattern that this handler processes or an array of patterns. */ uri: Uri | Uri[]; /** * Called to process the provided request. * @param request Lens request. * @param reply A callback function to send response back. * The function can be called none or multiple number of times. * @param lens Lens the request is coming from. */ handleRequest(request: UriRequest, reply: (response: UriResponse) => void, lens: Lens): void; /** * Called to indicated that URI request initated earlier is cancelled. * @param request Lens request. * @param lens Lens the request is coming from. */ cancelRequest?(request: UriCancelRequest, lens: Lens): void; } /** * Array of {@link UriHandler} objects. * @internal */ export type UriHandlers = UriHandler[]; /** * An extension point for client URI handlers. * @internal */ export declare const uriHandlersFactory: { (): UriHandlers; token: "UriHandlers"; dependencies: []; }; export { Uri, UriCancelRequest, UriRequest, UriResponse } from "../lens-core-module/generated-types"; //# sourceMappingURL=UriHandlers.d.ts.map