import { AnalyticsEventLevel } from './AnalyticsEventLevel';
import { ISignalParamsProvider } from '../signal/ISignalSendParamsProvider';
interface AnalyticsEventInit {
    name: string;
    level: AnalyticsEventLevel;
    includesPII?: boolean;
    properties?: Record<string, any>;
    timestamp?: number;
}
interface SignalEventParams {
    name: string;
    info: any;
    timestamp: number;
}
export default class AnalyticsEvent implements ISignalParamsProvider<SignalEventParams> {
    name: string;
    level: AnalyticsEventLevel;
    includesPII: boolean;
    properties: Record<string, any>;
    metadata: {
        token?: string;
        peer: {
            peer_id?: string;
            session_id?: string;
            room_id?: string;
            role?: string;
            room_name?: string;
            joined_at?: number;
            template_id?: string;
            session_started_at?: number;
            user_name?: string;
            user_data?: string;
        };
        userAgent: string;
    };
    timestamp: number;
    event_id: string;
    device_id: string;
    constructor({ name, level, properties, includesPII, timestamp }: AnalyticsEventInit);
    toSignalParams(): {
        name: string;
        info: {
            timestamp: number;
            domain: import("./AnalyticsEventDomains").DomainCategory;
        };
        timestamp: number;
    };
}
export {};
