import { ITelemetry, UserInfo } from "./ITelemetry";
import { Reporter, Dictionary } from "../common/reporter";
export interface TelemetryObject extends Dictionary {
    /** 记录ID */
    id?: string;
    /** 记录操作 */
    action?: string;
    /** 参数 */
    param?: any;
    /** 扩展内容 */
    extension?: TelemetryExtension;
    /** 客户端数据 */
    user?: UserInfo;
}
/**
 * 默认 Telemetry对象转换函数
 * 字段中注入`id`和`extension.timestamp`
 * @param data LogObject
 */
export declare function TelemetryTransformFunction<T extends TelemetryObject = TelemetryObject>(data: T): Dictionary;
declare type TelemetryKeys = ['action', 'param', 'extension', 'user'];
declare type TelemetryValues = [string, any, Dictionary, UserInfo];
export declare class ReportAnalytics extends Reporter<TelemetryObject, TelemetryValues, TelemetryKeys> implements ITelemetry {
    constructor(tableName: string, context?: Partial<TelemetryObject>);
    /**
     * 快速记录性能日志
     * @param action 操作,
     * @param context 其它数据
     */
    record(action: TelemetryValues[0], parameter?: TelemetryValues[1], extension?: TelemetryValues[2], userInfo?: TelemetryValues[3]): void;
    /**
     * 快速记录性能日志
     * @param data PerformanceParam
     */
    record(data: TelemetryObject): void;
}
interface TelemetryExtension extends Dictionary {
    /** 关联ID */
    debug_correlation_id?: string;
    /** 处理时间 */
    process_time?: number;
    /** 时间戳 */
    timestamp?: string | number;
}
export {};
//# sourceMappingURL=report-analytics.d.ts.map