import OTKAnalytics from 'opentok-solutions-logging';
/** Analytics */
declare const logVariation: {
    readonly attempt: "Attempt";
    readonly success: "Success";
    readonly failure: "Failure";
};
declare const logAction: {
    readonly initRoom: "InitRoom";
    readonly joinRoom: "JoinRoom";
    readonly leaveRoom: "LeaveRoom";
    readonly startScreenSharing: "StartScreenSharing";
    readonly stopScreenSharing: "StopScreenSharing";
    readonly publishCameraPublisher: "PublishCameraPublisher";
    readonly destroyCameraPublisher: "DestroyCameraPublisher";
    readonly cameraPublisherEnableVideo: "CameraPublisherEnableVideo";
    readonly cameraPublisherEnableAudio: "CameraPublisherEnableAudio";
    readonly cameraPublisherDisableVideo: "CameraPublisherDisableVideo";
    readonly cameraPublisherDisableAudio: "CameraPublisherDisableAudio";
    readonly screenPublisherEnableVideo: "ScreenPublisherEnableVideo";
    readonly screenPublisherEnableAudio: "ScreenPublisherEnableAudio";
    readonly screenPublisherDisableVideo: "ScreenPublisherDisableVideo";
    readonly screenPublisherDisableAudio: "ScreenPublisherDisableAudio";
    readonly cameraSubscriberEnableVideo: "CameraSubscriberEnableVideo";
    readonly cameraSubscriberEnableAudio: "CameraSubscriberEnableAudio";
    readonly cameraSubscriberDisableVideo: "CameraSubscriberDisableVideo";
    readonly cameraSubscriberDisableAudio: "CameraSubscriberDisableAudio";
    readonly screenSubscriberEnableVideo: "ScreenSubscriberEnableVideo";
    readonly screenSubscriberEnableAudio: "ScreenSubscriberEnableAudio";
    readonly screenSubscriberDisableVideo: "ScreenSubscriberDisableVideo";
    readonly screenSubscriberDisableAudio: "ScreenSubscriberDisableAudio";
    readonly initPreviewPublisher: "InitPreviewPublisher";
    readonly destroyPreviewPublisher: "DestroyPreviewPublisher";
    readonly previewPublisherEnableVideo: "PreviewPublisherEnableVideo";
    readonly previewPublisherEnableAudio: "PreviewPublisherEnableAudio";
    readonly previewPublisherDisableVideo: "PreviewPublisherDisableVideo";
    readonly previewPublisherDisableAudio: "PreviewPublisherDisableAudio";
    readonly setVideoDevice: "SetVideoDevice";
    readonly setAudioDevice: "SetAudioDevice";
    readonly getAudioOutputDevices: "GetAudioOutputDevices";
    readonly getActiveAudioOutputDevice: "GetActiveAudioOutputDevice";
    readonly getVideoDevice: "GetVideoDevice";
    readonly getAudioDevice: "GetAudioDevice";
    readonly getDevices: "GetDevices";
    readonly createCameraSubscriber: "CreateCameraSubscriber";
    readonly createScreenSubscriber: "CreateScreenSubscriber";
    readonly setProxyUrl: "SetProxyUrl";
    readonly setAudioOutputDevice: "SetAudioOutputDevice";
    readonly setVideoFilter: "SetVideoFilter";
    readonly clearVideoFilter: "ClearVideoFilter";
    readonly setEncryptionSecret: "SetEncryptionSecret";
};
type AnalyticsProps = {
    source?: string;
    sessionId?: string;
    connectionId?: string;
    apiKey?: string;
};
type LogAction = typeof logAction[keyof typeof logAction];
type LogVariation = typeof logVariation[keyof typeof logVariation];
declare class Analytics {
    analytics: OTKAnalytics;
    constructor(analyticsProps?: AnalyticsProps);
    update: (sessionId: string | undefined, connectionId: string, apiKey: string) => void;
    log: (action: LogAction, variation: LogVariation, payload?: any) => void;
}
export { Analytics, logVariation, logAction };
