@flagship.io/js-sdk
Version:
100 lines (99 loc) • 2.48 kB
TypeScript
import { FlagsStatus, IHit, primitive } from '../types';
import { EventEmitter } from '../depsNode.native';
import { IVisitor } from './IVisitor';
import { IFlagshipConfig } from '../config/index';
import { type HitAbstract } from '../hit/HitAbstract';
import { VisitorAbstract } from './VisitorAbstract';
import { IFSFlag } from '../flag/IFSFlag';
import { IFSFlagCollection } from '../flag/IFSFlagCollection';
/**
* The `Visitor` class represents a unique user within your application. It aids in
* managing the visitor's data and fetching the corresponding flags for the visitor
* from the [Flagship platform](https://app.flagship.io/login) .
*/
export declare class Visitor extends EventEmitter implements IVisitor {
private visitorDelegate;
private _onReady;
constructor(visitorDelegate: VisitorAbstract);
/**
* @inheritdoc
*/
get visitorId(): string;
/**
* @inheritdoc
*/
set visitorId(v: string);
/**
* @inheritdoc
*/
get anonymousId(): string | null;
/**
* @inheritdoc
*/
get config(): IFlagshipConfig;
/**
* @inheritdoc
*/
get context(): Record<string, primitive>;
/**
* @inheritdoc
*/
get flagsStatus(): FlagsStatus;
/**
* @inheritdoc
*/
get hasConsented(): boolean;
/**
* @inheritdoc
*/
setConsent(hasConsented: boolean): void;
/**
* @inheritdoc
*/
updateContext(key: string, value: primitive): void;
updateContext(context: Record<string, primitive>): void;
/**
* @inheritdoc
*/
clearContext(): void;
/**
* @inheritdoc
*/
getFlag(key: string): IFSFlag;
/**
* @inheritdoc
*/
getFlags(): IFSFlagCollection;
/**
* @inheritdoc
*/
fetchFlags(): Promise<void>;
/**
* @inheritdoc
*/
sendHit(hit: HitAbstract): Promise<void>;
sendHit(hit: IHit): Promise<void>;
sendHit(hit: IHit | HitAbstract): Promise<void>;
/**
* @inheritdoc
*/
sendHits(hits: HitAbstract[]): Promise<void>;
sendHits(hits: IHit[]): Promise<void>;
sendHits(hits: HitAbstract[] | IHit[]): Promise<void>;
/**
* @inheritdoc
*/
authenticate(visitorId: string): void;
/**
* @inheritdoc
*/
unauthenticate(): void;
/**
* @inheritdoc
*/
collectEAIEventsAsync(...args: unknown[]): Promise<void>;
/**
* @inheritdoc
*/
cleanup(): void;
}