posthog-js
Version:
Posthog-js allows you to automatically capture usage and send events to PostHog.
38 lines (37 loc) • 1.88 kB
TypeScript
import type { ApiResponse, CaptureOptions as BrowserCommonCaptureOptions, CapturedEventInfo, Client, DeepReadonly, Disposable, Extension, ExtensionToken, KeyValueStore, Listener, SendRequestInit, SessionContext } from '@posthog/browser-common';
import { type Logger } from '@posthog/core';
import type { PostHog } from '../posthog-core';
import type { Properties, RemoteConfigResult } from '../types';
/** One shared extension client and lifecycle host per browser-v1 PostHog instance. */
export declare class BrowserClientAdapter implements Client, Disposable {
readonly instance: PostHog;
readonly kv: KeyValueStore;
readonly onEvent: Listener<CapturedEventInfo>;
readonly onRemoteConfig: Listener<DeepReadonly<RemoteConfigResult>>;
private readonly _logger;
private readonly _runtime;
private _latestRemoteConfigResult;
private _disposed;
constructor(instance: PostHog);
get logger(): Logger;
get distinctId(): string;
get anonymousId(): string;
get deviceId(): string | undefined;
get library(): {
name: string;
version: string;
};
get initialPersonProperties(): Record<string, unknown>;
get groups(): Record<string, string>;
get session(): SessionContext;
get canCapture(): boolean;
get projectToken(): string;
add(extension: Extension): Promise<void>;
getExtension<T extends Extension>(token: ExtensionToken<T>): T | undefined;
getExtension<T extends Extension = Extension>(name: string): T | undefined;
capture(event: string, properties?: Properties | null, options?: BrowserCommonCaptureOptions): Promise<void>;
registerDynamicEventProperties(producer: () => Record<string, unknown>): Disposable;
handleRemoteConfig(result: RemoteConfigResult): void;
sendRequest(path: string, init?: SendRequestInit): Promise<ApiResponse>;
dispose(): void;
}