import AriaTelemetry from "../telemetry/AriaTelemetry";
import ICallingSDKLogData from "../external/CallingSDK/ICallingSDKLogData";
import IIC3SDKLogData from "../external/IC3Client/IIC3SDKLogData";
import IOCSDKLogData from "../external/OCSDK/IOCSDKLogData";
import LogLevel from "../telemetry/LogLevel";
import OmnichannelConfig from "../core/OmnichannelConfig";
import { PrintableMessage } from "./printers/types/PrintableMessageType";
export declare class IC3ClientLogger {
    private omnichannelConfig;
    private debug;
    private runtimeId;
    private requestId;
    private chatId;
    private telemetry;
    constructor(omnichannelConfig: OmnichannelConfig);
    setDebug(flag: boolean): void;
    setRuntimeId(runtimeId: string): void;
    setRequestId(requestId: string): void;
    setChatId(chatId: string): void;
    useTelemetry(telemetry: typeof AriaTelemetry): void;
    logClientSdkTelemetryEvent(logLevel: LogLevel, event: IIC3SDKLogData): void;
}
export declare class OCSDKLogger {
    private omnichannelConfig;
    private debug;
    private runtimeId;
    private requestId;
    private chatId;
    private telemetry;
    constructor(omnichannelConfig: OmnichannelConfig);
    setDebug(flag: boolean): void;
    setRuntimeId(runtimeId: string): void;
    setRequestId(requestId: string): void;
    setChatId(chatId: string): void;
    useTelemetry(telemetry: typeof AriaTelemetry): void;
    logClientSdkTelemetryEvent(logLevel: LogLevel, event: IOCSDKLogData): void;
}
export declare class ACSClientLogger {
    private omnichannelConfig;
    private debug;
    private runtimeId;
    private requestId;
    private chatId;
    private telemetry;
    private scenarioMarker;
    constructor(omnichannelConfig: OmnichannelConfig);
    setDebug(flag: boolean): void;
    setRuntimeId(runtimeId: string): void;
    setRequestId(requestId: string): void;
    setChatId(chatId: string): void;
    useTelemetry(telemetry: typeof AriaTelemetry): void;
    logClientSdkTelemetryEvent(logLevel: LogLevel, event: any): void;
    startScenario(event: string, additionalProperties?: any): void;
    failScenario(event: string, additionalProperties?: any): void;
    completeScenario(event: string, additionalProperties?: any): void;
    recordIndividualEvent(event: string, source: string, additionalProperties: PrintableMessage): void;
}
export declare class ACSAdapterLogger {
    private omnichannelConfig;
    private debug;
    private runtimeId;
    private requestId;
    private chatId;
    private telemetry;
    private scenarioMarker;
    constructor(omnichannelConfig: OmnichannelConfig);
    setDebug(flag: boolean): void;
    setRuntimeId(runtimeId: string): void;
    setRequestId(requestId: string): void;
    setChatId(chatId: string): void;
    useTelemetry(telemetry: typeof AriaTelemetry): void;
    logEvent(logLevel: LogLevel, event: any): void;
    startScenario(event: string, additionalProperties?: any): void;
    failScenario(event: string, additionalProperties?: any): void;
    completeScenario(event: string, additionalProperties?: any): void;
}
export declare class CallingSDKLogger {
    private omnichannelConfig;
    private debug;
    private runtimeId;
    private requestId;
    private chatId;
    private telemetry;
    constructor(omnichannelConfig: OmnichannelConfig);
    setDebug(flag: boolean): void;
    setRuntimeId(runtimeId: string): void;
    setRequestId(requestId: string): void;
    setChatId(chatId: string): void;
    useTelemetry(telemetry: typeof AriaTelemetry): void;
    logScenarioOperation(operationName: string, startTime: number, endTime: number, isSuccess: boolean, retryCount: number, data?: object): void;
    logCallingSdkTelemetryEvent(logLevel: LogLevel, event: ICallingSDKLogData): void;
}
export declare class AMSClientLogger {
    private omnichannelConfig;
    private debug;
    private runtimeId;
    private requestId;
    private chatId;
    private telemetry;
    constructor(omnichannelConfig: OmnichannelConfig);
    setDebug(flag: boolean): void;
    setRuntimeId(runtimeId: string): void;
    setRequestId(requestId: string): void;
    setChatId(chatId: string): void;
    useTelemetry(telemetry: typeof AriaTelemetry): void;
    logClientSdkTelemetryEvent(logLevel: LogLevel, event: any): void;
}
export declare const createIC3ClientLogger: (omnichannelConfig: OmnichannelConfig, debug?: boolean) => IC3ClientLogger;
export declare const createOCSDKLogger: (omnichannelConfig: OmnichannelConfig, debug?: boolean) => OCSDKLogger;
export declare const createACSClientLogger: (omnichannelConfig: OmnichannelConfig, debug?: boolean) => ACSClientLogger;
export declare const createACSAdapterLogger: (omnichannelConfig: OmnichannelConfig, debug?: boolean) => ACSAdapterLogger;
export declare const createCallingSDKLogger: (omnichannelConfig: OmnichannelConfig, debug?: boolean) => CallingSDKLogger;
export declare const createAMSClientLogger: (omnichannelConfig: OmnichannelConfig, debug?: boolean) => AMSClientLogger;
