import FKPlatform from "../FKPlatform"; /** * Logger for logging exceptions and messages to server. */ export interface IErrorLogger { /** * Logs given log as Error to server */ error(log: Log, errorContext?: Context): Promise; /** * Logs given log as Warn to server */ warn(log: Log, errorContext?: Context): Promise; /** * Logs given log as info to server */ info(log: Log, errorContext?: Context): Promise; } /** * Remote Logger to upload logs to server. * * This also internally keeps track of uncaught-exceptions and upload these logs to server. * * Note : It is required that FkRemoteLogger is initialised by making a call to init providing FKPlatform instance * before calling functionalities. * */ export declare class FkRemoteLogger implements IErrorLogger { private logsUploader?; init(fkSDK: FKPlatform): void; error(errorLog: Log, errorContext?: Context): Promise; info(errorLog: Log, errorContext?: Context): Promise; warn(errorLog: Log, errorContext?: Context): Promise; private attachUncaughtErrorHandler; } declare const _default: FkRemoteLogger; export default _default; /** * Interface defining schema for log which will be pushed to server */ export interface Log { message: string; stack?: string; file?: string; line?: number; col?: number; } /** * Any additional info along with log can be sent as key-value pair in context * * ex: userId or deviceId or such as failedCount/retryCount */ export interface Context extends Record { } export declare enum LogLevel { INFO = "INFO", WARN = "WARN", ERROR = "ERROR" }