import { URI, Promisable, Result } from "@adviser/cement"; import { PassThroughGateway } from "./interceptor-gateway.js"; import { FPEnvelope, FPEnvelopeMeta, SerdeGatewayBuildUrlReturn, SerdeGatewayCloseReturn, SerdeGatewayCtx, SerdeGatewayDeleteReturn, SerdeGatewayDestroyReturn, SerdeGatewayGetReturn, SerdeGatewayPutReturn, SerdeGatewayStartReturn, SerdeGatewaySubscribeReturn } from "@fireproof/core-types-blockstore"; export type URIMapper = (uri: URI) => Promisable; export declare class URIInterceptor extends PassThroughGateway { #private; static withMapper(mapper: URIMapper): URIInterceptor; addMapper(mapper: URIMapper): URIInterceptor; buildUrl(ctx: SerdeGatewayCtx, url: URI, key: string): Promise>; start(ctx: SerdeGatewayCtx, url: URI): Promise>; close(ctx: SerdeGatewayCtx, url: URI): Promise>; delete(ctx: SerdeGatewayCtx, url: URI): Promise>; destroy(ctx: SerdeGatewayCtx, url: URI): Promise>; put(ctx: SerdeGatewayCtx, url: URI, body: FPEnvelope): Promise>>; get(ctx: SerdeGatewayCtx, url: URI): Promise>>; subscribe(ctx: SerdeGatewayCtx, url: URI, callback: (meta: FPEnvelopeMeta) => Promise): Promise>; }