import { Observable } from "rxjs"; import * as M from "../model"; export type Any = any; export type Omit = Pick>; export type Unpacked = T extends Promise ? U2 : T extends Observable ? U3 : T; export type DropFunctionsContext = { [K in keyof T]: T[K] extends (this: infer THIS, ...args: infer A) => infer R ? (this: void, ...args: A) => R : never; }; export type PayloadUid = string; interface PayloadBase> { uid: PayloadUid; name: keyof M.Actions; } export type PayloadRequest> = PayloadBase & (({ type: "request"; args: Parameters[keyof M.Actions]>; } & Pick, "serialization">) | ({ type: "unsubscribe-request"; reason: "finish promise" | "timeout"; })); export type PayloadResponse> = PayloadBase & ({ type: "response"; }) & ({ data: Unpacked[keyof M.Actions]>>; } | { complete: true; } | { error: Any; }); export type Payload> = PayloadRequest | PayloadResponse; export type DefACA = Any[]; export declare const MODULE_NAME = "pubsub-to-rpc-api"; export declare const ONE_SECOND_MS = 1000; export declare const EMPTY_FN: M.LoggerFn; export type InternalLogger = M.Logger & { _private: true; }; export declare const LOG_STUB: Readonly; export declare const NOTIFICATION_WRAPPER_STUB: Required>["notificationWrapper"]; export declare const ON_EVENT_LISTENER_DEFAULT_PAYLOAD_ARG_INDEX = 0; export type Impossible = { [P in K]: never; }; export type NoExtraProperties = U & Impossible>; export {};