@croct/plug
Version:
A fully-featured devkit for building natively personalized applications.
65 lines (62 loc) • 1.94 kB
text/typescript
import { CidAssigner } from '@croct/sdk/cid';
import { ContextFactory } from '@croct/sdk/facade/evaluatorFacade';
import { Campaign, Page } from '@croct/sdk/evaluator';
import { Plugin, PluginFactory } from './plugin.cjs';
import { SdkEventSubscriber } from './sdk/index.cjs';
import { TokenProvider } from '@croct/sdk/token';
import { Tab } from '@croct/sdk/tab';
import { Logger } from '@croct/sdk/logging';
import '@croct/sdk/facade/trackerFacade';
import '@croct/sdk/facade/userFacade';
import '@croct/sdk/facade/sessionFacade';
import '@croct/sdk/eventManager';
import '@croct/sdk/sdkEvents';
type Configuration = {
appId: string;
connectionId?: string;
sdkVersion: string;
tab: Tab;
contextFactory: ContextFactory;
storage: Storage;
eventSubscriber: SdkEventSubscriber;
cidAssigner: CidAssigner;
tokenProvider: TokenProvider;
logger: Logger;
};
type SyncPayload = {
appId: string;
connectionId: string;
sdkVersion: string;
cid: string;
tabId: string;
token: string | null;
context: {
campaign?: Campaign;
page?: Page;
timezone?: string;
};
};
declare class PlaygroundPlugin implements Plugin {
private readonly sdkVersion;
private readonly appId;
private readonly connectionId?;
private readonly tab;
private readonly contextFactory;
private readonly storage;
private readonly eventSubscriber;
private readonly cidAssigner;
private readonly tokenProvider;
private readonly logger;
private syncListener?;
constructor(configuration: Configuration);
enable(): Promise<void> | void;
private resolveConnectionId;
disable(): Promise<void> | void;
private syncToken;
private createContext;
}
type Options = {
connectionId?: string;
};
declare const factory: PluginFactory<Options>;
export { type Configuration, type Options, PlaygroundPlugin, type SyncPayload, factory };