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; /** * @inheritdoc */ get flagsStatus(): FlagsStatus; /** * @inheritdoc */ get hasConsented(): boolean; /** * @inheritdoc */ setConsent(hasConsented: boolean): void; /** * @inheritdoc */ updateContext(key: string, value: primitive): void; updateContext(context: Record): void; /** * @inheritdoc */ clearContext(): void; /** * @inheritdoc */ getFlag(key: string): IFSFlag; /** * @inheritdoc */ getFlags(): IFSFlagCollection; /** * @inheritdoc */ fetchFlags(): Promise; /** * @inheritdoc */ sendHit(hit: HitAbstract): Promise; sendHit(hit: IHit): Promise; sendHit(hit: IHit | HitAbstract): Promise; /** * @inheritdoc */ sendHits(hits: HitAbstract[]): Promise; sendHits(hits: IHit[]): Promise; sendHits(hits: HitAbstract[] | IHit[]): Promise; /** * @inheritdoc */ authenticate(visitorId: string): void; /** * @inheritdoc */ unauthenticate(): void; /** * @inheritdoc */ collectEAIEventsAsync(...args: unknown[]): Promise; /** * @inheritdoc */ cleanup(): void; }