import { IPlugin, Mercury, TModel } from "@mercury-js/core";
import { IHistoryConfig } from "../types/historyTracking";
import { Types } from "mongoose";
export declare class HistoryTracking implements IPlugin {
    _mercury?: Mercury;
    private installed;
    private skipModels;
    constructor(options: IHistoryConfig);
    init(mercury: Mercury): void;
    private get mercury();
    run(): void;
    createHistory(): void;
    getDataType(model: TModel, key: string): string | undefined;
    getInstanceId(): Types.ObjectId;
    createHistoryRecord(mercury: Mercury, model: string, oldValue: any, newValue: any, instanceId: any, operationType: string, dataType: any, recordId: string, fieldName: string, ctx: any): Promise<void>;
    ifStringAndNotNull(value: any): string;
}
