UNPKG

@baqhub/sdk-react

Version:

The official React SDK for the BAQ federated app platform.

37 lines (36 loc) 3.04 kB
import { AnyRecord } from "@baqhub/sdk"; import { StoreContextProps } from "./storeContext.js"; export declare function buildAccessors(entity: string, proxyEntity: string): { recordByKey: (getState: () => import("./storeContext.js").EntityRecordsState<AnyRecord>) => <Q extends AnyRecord>(key: import("@baqhub/sdk").RecordKey<Q>) => Extract<AnyRecord, Q>; findRecordByKey: (getState: () => import("./storeContext.js").EntityRecordsState<AnyRecord>) => <Q extends AnyRecord>(key: import("@baqhub/sdk").RecordKey<Q>) => Extract<AnyRecord, Q> | undefined; findRecordByQuery: (getState: () => import("./storeContext.js").EntityRecordsState<AnyRecord>) => <Q extends AnyRecord>(query: import("@baqhub/sdk").Query<Q>) => Q | undefined; findEntityRecord: (getState: () => import("./storeContext.js").EntityRecordsState<AnyRecord>) => (targetEntity: string) => import("@baqhub/sdk").EntityRecord | undefined; findStandingDecision: (getState: () => import("./storeContext.js").EntityRecordsState<AnyRecord>) => (publisherEntity: string) => `${import("@baqhub/sdk").StandingDecision}`; }; export declare function buildHelpers<T extends AnyRecord>(store: StoreContextProps<T>, accessors: ReturnType<typeof buildAccessors>, proxyEntity: string): { isAuthenticated: boolean; entity: string; proxyEntity: string; discover: (entity: string, signal?: AbortSignal) => Promise<import("@baqhub/sdk").EntityRecord>; downloadBlob: (record: AnyRecord, blob: import("@baqhub/sdk").AnyBlobLink, signal?: AbortSignal) => Promise<Blob>; recordByVersion: <Q extends T>(version: import("@baqhub/sdk").VersionHash<Q>) => Extract<T, Q>; recordByKey: <Q extends AnyRecord>(key: import("@baqhub/sdk").RecordKey<Q>) => Extract<AnyRecord, Q>; findRecordByKey: <Q extends AnyRecord>(key: import("@baqhub/sdk").RecordKey<Q>) => Extract<AnyRecord, Q> | undefined; findRecordByQuery: <Q extends AnyRecord>(query: import("@baqhub/sdk").Query<Q>) => Q | undefined; findEntityRecord: (targetEntity: string) => import("@baqhub/sdk").EntityRecord | undefined; findStandingDecision: (publisherEntity: string) => `${import("@baqhub/sdk").StandingDecision}`; updateStandingDecision: (publisherEntity: string, decision: import("@baqhub/sdk").StandingDecision) => void; updateRecords: import("./storeTypes.js").UpdateRecords<T>; uploadBlob: (blob: Blob, signal?: AbortSignal) => Promise<import("@baqhub/sdk").BlobResponse>; buildBlobUrl: <R extends T>(record: R, blob: import("@baqhub/sdk").AnyBlobLink, expiresInSeconds?: number) => string; onDisconnectRequest: import("@baqhub/sdk").Handler; }; export interface ProxyStoreContextProps<T extends AnyRecord> { proxyEntity: string; accessors: ReturnType<typeof buildAccessors>; helpers: ReturnType<typeof buildHelpers<T>>; } export declare function buildProxyStoreContext<T extends AnyRecord>(): { ProxyStoreContext: import("react").Context<ProxyStoreContextProps<T> | undefined>; useProxyStoreContext: () => ProxyStoreContextProps<T>; };