import { EventType, MouseInteractions } from "zipy-rrweb";
export type listenerHandler = () => void;
export declare enum zipyEventTypes {
    Mutation = 0,
    MouseMove = 1,
    MouseInteraction = 2,
    Scroll = 3,
    ViewportResize = 4,
    Input = 5,
    TouchMove = 6,
    MediaInteraction = 7,
    StyleSheetRule = 8,
    CanvasMutation = 9,
    Font = 10,
    ReplayerEvent = 11,
    ConsoleInfo = 50,
    ConsoleError = 51,
    ConsoleWarning = 52,
    ConsoleDebug = 53,
    Error = 70,
    RangeError = 71,
    ReferenceError = 72,
    TypeError = 73,
    SyntaxError = 74,
    URIError = 75,
    EvalError = 76,
    UnhandledRejection = 77,
    BROWSERDATA = 100,
    NAVIGATION = 101,
    Online = 102,
    Offline = 103,
    XHR = 104,
    WSOPEN = 105,
    WSCLOSE = 106,
    WSMESSAGE = 107,
    WSERROR = 108,
    Fonts = 109,
    Link = 110,
    Css = 111,
    Image = 112,
    Js = 113,
    Media = 114,
    ZipyLogMessage = 115,
    ZipyLogException = 116,
    ZipyLogFrontendError = 117,
    ZipyLogNetworkError = 118,
    Performance = 119,
    PerfNavigation = 120,
    OtherNetworkCall = 121,
    WebVitals = 122
}
export type browserData = {
    browser: string;
    browserVersion: string;
    location: string;
    os: any;
    timeZone: string;
    userAgent: string;
    ip: string;
    lat: number;
    lon: number;
    deviceName: string;
    screenWidth: number;
    screenHeight: number;
};
export type errorData = {
    message: string;
    filename: string;
    lineno: number;
    colno: number;
    error: any;
};
export type exceptionData = {
    message: string;
    error: any;
};
export type consoleData = {
    arguments: string;
    argumentsObj: Array<string | object>;
};
export type xhrCallData = {
    requestUrl: string;
    requestMethod: string;
    request: any;
    headers: any;
    response: any;
    responseHeaders: any;
    status: number;
    sourceLibrary: string;
    requestStartTime?: number;
    xhrDuration?: number;
    requestByteSize?: number;
    responseByteSize?: number;
    nextHopProtocol?: string;
    renderBlockingStatus?: string;
    startTime?: number;
    duration?: number;
    workerStart?: number;
    redirectStart?: number;
    redirectEnd?: number;
    fetchStart?: number;
    domainLookupStart?: number;
    domainLookupEnd?: number;
    connectStart?: number;
    secureConnectionStart?: number;
    connectEnd?: number;
    requestStart?: number;
    responseStart?: number;
    responseEnd?: number;
    transferSize?: number;
    encodedBodySize?: number;
    decodedBodySize?: number;
    apiIdentifier?: string;
};
export type navigationData = {
    navigatedUrl: string;
    loadTime: number;
    navigationType: string;
    isRouteChange: boolean;
};
export type networkConnectionData = {
    status: string;
    type: string;
};
export type WebSocketData = {
    requestUrl: string;
    responseData?: WebSocketMessage | WebSocketError | WebSocketClose | {};
    status: string;
    protocols: string;
    extension: any;
    readyState: number;
    requestData?: string;
    timestamp: number;
    wsMsgType: WSMsgType;
};
export declare enum WSMsgType {
    MESSAGESEND = 0,
    MESSAGERECEIVED = 1,
    SOCKETCLOSE = 2,
    SOCKETERROR = 3,
    SOCKETOPEN = 4
}
export type WebSocketMessage = {
    data: string;
    type: string;
    wsTimestamp: number;
};
export type WebSocketError = {
    code: number;
    reason: string;
    wsTimestamp: number;
    type: string;
};
export type WebSocketClose = {
    code: number;
    reason: string;
    type: string;
    wsTimestamp: number;
};
export type httpRequestRespData = {
    requestUrl: string;
    initiatorType: string;
    duration: number;
    startTime: number;
};
export type ZipyPerformanceResourceTiming = {
    initiatorType: string;
    nextHopProtocol: string;
    workerStart: string;
    redirectStart: string;
    redirectEnd: string;
    fetchStart: string;
    domainLookupStart: string;
    domainLookupEnd: string;
    connectStart: string;
    connectEnd: string;
    secureConnectionStart: string;
    requestStart: string;
    responseStart: string;
    responseEnd: string;
    transferSize: string;
    encodedBodySize: string;
    decodedBodySize: string;
    responseStatus: number;
    renderBlockingStatus: ZipyRenderBlockingStatusType;
    duration: number;
    entryType: ZipyEntryType;
    name: string;
    startTime: number;
    apiIdentifier: string;
};
export type ZipyPerformanceEntry = {
    duration: number;
    entryType: ZipyEntryType;
    name: string;
    startTime: number;
};
declare enum ZipyEntryType {
    ELEMENT = 0,
    EVENT = 1,
    FIRST_INPUT = 2,
    LARGEST_CONTENTFUL_PAINT = 3,
    LAYOUT_SHIFT = 4,
    LONGTASK = 5,
    MARK = 6,
    MEASURE = 7,
    NAVIGATION = 8,
    PAINT = 9,
    RESOURCE = 10
}
export type eventData = browserData | errorData | exceptionData | consoleData | xhrCallData | navigationData | networkConnectionData | WebSocketData | httpRequestRespData | zipyLogMessageData | zipyLogExceptionData | zipyLogErrorData | ZipyPerformanceResourceTiming | any;
export type zipyEvent = {
    eventType: zipyEventTypes;
    data: eventData;
    isError: boolean;
};
export declare const ZIPYLOGIDENTIFIER = "zipy";
export declare const RRWEBIDENTIFIER = "rrweb";
export type zipyEventWithTime = zipyEvent & {
    timestamp: number;
};
export type zipyEventFormat = {
    data: string;
    type: zipyEventTypes;
    rrwebEvent?: EventType;
    time: number;
    isError: boolean;
    navigatedUrl: string;
    isCheckout?: boolean;
};
export type zipyPerfEventFormat = {
    data: ZipyPerformanceResourceTiming;
    type: zipyEventTypes;
    time: number;
};
export type zipyPagePerfEventData = {
    data: any;
    type: zipyEventTypes;
    time: number;
};
export type zipyDataJson = {
    key: string;
    sdk_ver: string;
    src: string;
    s_id: string;
    euz_id: string;
    eue_id: string;
    rel_ver: string;
    eu_info_id: number;
    events: zipyEventFormat[];
    handshake_status: boolean;
    ip: string;
    deviceName: string;
    screenWidth: number;
    screenHeight: number;
    userAgent: string;
    timeZone: string;
    pack?: boolean;
    isNPM: boolean;
};
export type zipyClickEventFormat = {
    data: any;
    time: number;
    type: number;
    isError: boolean;
};
export type zipyPagePerfData = {
    key: string;
    sdk_ver: string;
    src: string;
    s_id: string;
    euz_id: string;
    eue_id: string;
    events: any;
    eu_info_id: number;
    rel_ver: string;
    handshake_status: boolean;
    ip: string;
    deviceName: string;
    userAgent: string;
    timeZone: string;
    pack: boolean;
    eventType: number;
};
export type zipyClickData = {
    key: string;
    sdk_ver: string;
    src: string;
    s_id: string;
    euz_id: string;
    eue_id: string;
    events: zipyClickEventFormat[];
    eu_info_id: number;
    rel_ver: string;
    handshake_status: boolean;
    ip: string;
    deviceName: string;
    userAgent: string;
    timeZone: string;
    pack: boolean;
    eventType: number;
};
export type customData = {
    eventData: string;
};
export type divolteDataFormat = {
    session_id: string;
    event_id: string;
    is_new_party: boolean;
    is_new_session: boolean;
    client_timestamp_iso: string;
    event_type: string;
    parameters: customData;
};
export type options = {
    releaseVer: string;
    rootDomain: string;
    recordOnlyIframe: boolean;
};
export type UserInfo = {
    firstName: string;
    lastName: string;
    email: string;
    customerName: string;
    avatar: string;
    phone: string;
    age: number;
};
export type storeEndUserInfo = {
    euId: number;
    euZName: string;
    userType: UserType;
    zExternalUserInfo: any;
    zAnonymsUserInfo: any;
    isBlocked: boolean;
};
export declare enum Operations {
    POSTENDUSERINFOANDGETUSERCONFIG = 0,
    POSTENDUSERINFO = 1,
    GETUSERCONFIG = 2
}
export declare enum UserType {
    ANONYMS = 0,
    IDENTIFIED = 1
}
export declare enum RRwebRecorderStatus {
    NORECORDING = 0,
    RECORDINGPENDING = 1,
    RECORDINGSUCCESSFUL = 2
}
export type SessionBlockInfo = {
    isBlocked: boolean;
    blockedEndTime: number;
    apiKey: string;
};
export type sessionRegisterInformation = {
    enduser_session_id: string;
    user_agent: string;
    ip_address: string;
    location: string;
    enduser_zipy_id: string;
    project_release_version: string;
    sdk_version: string;
    device_name: string;
    screen_width: number;
    screen_height: number;
};
export type sessionData = {
    dSession: string;
    isActive: boolean;
    isNewSession: boolean;
    sdkKey: string;
    sessionId: string;
};
export declare const NOT_FOUND = 404;
export type zipyEventOptions = {
    [key: string]: any;
};
export type zipyLogMessageData = {
    message: string;
    options: zipyEventOptions;
};
export type zipyLogExceptionData = {
    message: string;
    filename: string;
    lineno: number;
    colno: number;
    cause: any;
    stack: string;
    name: string;
};
export type zipyLogErrorData = {
    name: string;
    message: string;
    category: string;
    options: zipyEventOptions;
};
export type hasErrorArgument = {
    hasErrorObj: boolean;
    errObj?: any;
};
export declare const LOG_EVENT = "logEvent";
export declare const EXCEPTION_EVENT = "exceptionEvent";
export declare const ERROR_EVENT = "errorEvent";
export declare const LOG_MESSAGE_LIMIT = 1024;
export declare const START_IFRAME_RECORDING = "startIframeRecording";
export declare const STOP_IFRAME_RECORDING = "stopIframeRecording";
export declare const IFRAME_LOADED = "iframeContentLoaded";
export declare enum consoleLogLevel {
    DEBUG = "1",
    WARNING = "2",
    ERROR = "3",
    LOG = "4"
}
declare enum ZipyRenderBlockingStatusType {
    BLOCKING = 0,
    NON_BLOCKING = 1
}
export declare enum cookieVariables {
    session_data = "_zsession-data",
    total_data_sent = "_ztotal-data-sent",
    enduser_last_activity_time = "_zenduser-last-activity-time",
    last_activity_time = "_zlast-activity-time"
}
export type mouseInteractionParam = {
    type: MouseInteractions;
    id: number;
    x: number;
    y: number;
    nodePath?: string;
    deadClick?: boolean;
    rageClick: boolean;
    innerText?: string;
    offsetX: number;
    offsetY: number;
    screenHeight: number | null;
    screenWidth: number | null;
    navigationUrl: string;
    elementHeight: number;
    elementWidth: number;
    selector: string | null;
};
export declare type mouseInteractionData = {
    source: zipyEventTypes.MouseInteraction;
} & mouseInteractionParam;
export declare const rootDomainRegex: RegExp;
export declare const cancelledRequestStatusCode = 499;
export declare enum WEB_VITALS {
    FCP = 0,
    FP = 1,
    FID = 2,
    CLS = 3,
    LCP = 4
}
export {};
