import { Result, URI } from "@adviser/cement"; import type { FPEnvelope, FPEnvelopeMeta, SerdeGateway, SerdeGatewayBuildUrlReturn, SerdeGatewayCloseReturn, SerdeGatewayCtx, SerdeGatewayDeleteReturn, SerdeGatewayDestroyReturn, SerdeGatewayGetReturn, SerdeGatewayInterceptor, SerdeGatewayPutReturn, SerdeGatewayStartReturn, SerdeGatewaySubscribeReturn, SerdeGetResult, UnsubscribeResult, VoidResult } from "@fireproof/core-types-blockstore"; import type { SuperThis } from "@fireproof/core-types-base"; export declare class PassThroughGateway implements SerdeGatewayInterceptor { 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>; } export declare class InterceptorGateway implements SerdeGateway { readonly innerGW: SerdeGateway; readonly interceptor: SerdeGatewayInterceptor; constructor(sthis: SuperThis, innerGW: SerdeGateway, interceptor: SerdeGatewayInterceptor | undefined); buildUrl(ctx: SerdeGatewayCtx, baseUrl: URI, key: string): Promise>; destroy(ctx: SerdeGatewayCtx, iurl: URI): Promise>; start(ctx: SerdeGatewayCtx, url: URI): Promise>; close(ctx: SerdeGatewayCtx, url: URI): Promise; put(ctx: SerdeGatewayCtx, url: URI, fpEnv: FPEnvelope): Promise; get(ctx: SerdeGatewayCtx, url: URI): Promise>; subscribe(ctx: SerdeGatewayCtx, url: URI, callback: (msg: FPEnvelopeMeta) => Promise): Promise; delete(ctx: SerdeGatewayCtx, url: URI): Promise; getPlain(ctx: SerdeGatewayCtx, url: URI, key: string): Promise>; }