import { TrackerConfig } from "src/core/model/TrackerConfig";
import { TrackerConfiguration } from "src/core/model/TrackerConfiguration";
import { TrackerVariableType } from "src/core/model/TrackerVariableType";
/**
 * Thread-safe (single-threaded in JS) shared state container.
 * Mirrors Android DataPayload — holds config and collected variables.
 */
export declare class DataPayload {
    private trackerConfig;
    private configuration;
    private collectedVariables;
    private userDefinedValues;
    setTrackerConfig(config: TrackerConfig): void;
    getTrackerConfig(): TrackerConfig | null;
    setConfiguration(config: TrackerConfiguration): void;
    getConfiguration(): TrackerConfiguration | null;
    setVariable(type: TrackerVariableType, value: unknown): void;
    getVariable(type: TrackerVariableType): unknown;
    getAllVariables(): Map<TrackerVariableType, unknown>;
    getCollectedVariables(): Map<TrackerVariableType, unknown>;
    updateVariables(variables: Map<TrackerVariableType, unknown>): void;
    setUserDefinedValue(key: string, value: unknown): void;
    getUserDefinedValue(key: string): unknown;
    getUserDefinedValues(): Record<string, unknown>;
    getDeviceId(): string;
    clear(): void;
}
