import defaults from './defaults'; import { Bindings } from './querybench'; export type JSAPConfig = Partial & { namespaces?: Record; extended?: Record; updates?: Record; queries?: Record; }; declare class Jsap { #private; namespaces: Record; extended: Record; updates: Record; queries: Record; constructor(config?: JSAPConfig | string); query(key: string, bindings: Bindings): Promise; subscribe(key: string, bindings: Bindings): import("./subscription").default; update(key: string, bindings: Bindings): Promise<{ status: number; statusText: string; }>; producer(key: string): (binds: any) => void; consumer(key: string): (binds: any) => void; get Producers(): {}; get Consumers(): {}; } type Tail = T extends (ignored: infer _, ...args: infer P) => infer ReturnType ? (...args: P) => ReturnType : never; type DynamicJsap = new (attr: T) => Jsap & Record> & Record & Tail<{ query: Jsap["query"]; }>)>; declare const _default: DynamicJsap; export default _default;