import { NativeEventListener } from "src/api/NativeEventListener";
import { BehavioralCollector } from "src/collector/BehavioralCollector";
import { DeviceCollector } from "src/collector/DeviceCollector";
import { NetworkCollector } from "src/collector/NetworkCollector";
import { ScreenActivityCollector } from "src/collector/ScreenActivityCollector";
import { SecurityCollector } from "src/collector/SecurityCollector";
import { DataPayload } from "src/di/DataPayload";
import { EventCallback } from "src/core/contract/EventCallback";
import { InitializationCallback } from "src/core/contract/InitializationCallback";
import { NetworkService } from "src/core/contract/NetworkService";
import { TrackerConfig } from "src/core/model/TrackerConfig";
import { TrackerEventType } from "src/core/model/TrackerEventType";
import { TrackerVariableType } from "src/core/model/TrackerVariableType";
import { PeriodicDataScheduler } from "src/core/scheduler/PeriodicDataScheduler";
import { EventService } from "src/service/EventService";
import { EventCoordinator } from "./EventCoordinator";
/**
 * Core engine that coordinates all tracker functionality.
 * Mirrors Android TrackerEngine.
 */
export declare class TrackerEngine {
    private readonly eventService;
    private readonly eventCoordinator;
    private readonly networkService;
    private readonly payload;
    private readonly scheduler;
    private readonly deviceCollector;
    private readonly networkCollector;
    private readonly securityCollector;
    private readonly behavioralCollector;
    private readonly screenActivityCollector;
    private readonly userDefinedValues;
    private isConfigLoaded;
    constructor(eventService: EventService, eventCoordinator: EventCoordinator, networkService: NetworkService, payload: DataPayload, scheduler: PeriodicDataScheduler, deviceCollector: DeviceCollector, networkCollector: NetworkCollector, securityCollector: SecurityCollector, behavioralCollector: BehavioralCollector, screenActivityCollector: ScreenActivityCollector);
    initialize(callback: InitializationCallback): Promise<void>;
    triggerCustomEvent(eventName: string, args: Record<string, unknown>): void;
    triggerCustomEventSync(eventName: string, args: Record<string, unknown>, callback: EventCallback): Promise<void>;
    setUserDefinedValue(key: string, value: unknown): void;
    getUserDefinedValues(): Record<string, unknown>;
    getAllVariables(): Map<TrackerVariableType, unknown>;
    getConfiguration(): TrackerConfig | null;
    triggerNativeEvent(eventType: TrackerEventType): void;
    setNativeEventListener(listener: NativeEventListener | null): void;
    terminate(): void;
}
