import { IoptionsParams } from '../../../types';
import { PaymentContext, SDKMetaData, Service } from '../../index';
import { LogExtra, LogMetaData, LogPayload } from './types';
/**
 * @author 谦彧 <zhangmian.zm@alipay.com>
 * @date 2024/9/18
 */
interface Config {
    scriptUrl: string;
    spmConfig: object;
    appId: string;
    server?: string;
    bizType: string;
    batchCount: number;
    productId: string;
    mdata?: LogMetaData;
    version?: string;
}
export declare class LogService implements Service {
    private instanceId;
    private logs;
    private config;
    private debug;
    private componentStartTime;
    private isLoaded;
    private trackId;
    constructor();
    init(initOptions: IoptionsParams, instanceId: string, sdkMetaData: SDKMetaData): void;
    update(paymentContext: PaymentContext): void;
    destroy(): void;
    setMetaData(metaData: LogMetaData): void;
    getLogConfig(): Config;
    logError(error: LogPayload, extra?: LogExtra, enableExtractCompliance?: boolean): LogService;
    logInfo(info: LogPayload, extra?: LogExtra): LogService;
    log(type: string, payload: LogPayload, extra?: LogExtra, enableExtractCompliance?: boolean): LogService;
    private reportLogs;
    private loadScript;
    private fallbackLoadScript;
    private initTracker;
    send(): void;
    setComponentStartTime(val: number): void;
    getComponentStartTime(): number;
}
export {};
