/// <reference types="mongoose/types/types" />
/// <reference types="mongoose/types/document" />
/// <reference types="mongoose/types/models" />
/// <reference types="mongoose/types/schemaoptions" />
/// <reference types="mongoose/types/utility" />
/// <reference types="mongoose/types/aggregate" />
/// <reference types="mongoose/types/callback" />
/// <reference types="mongoose/types/collection" />
/// <reference types="mongoose/types/connection" />
/// <reference types="mongoose/types/cursor" />
/// <reference types="mongoose/types/document" />
/// <reference types="mongoose/types/error" />
/// <reference types="mongoose/types/expressions" />
/// <reference types="mongoose/types/helpers" />
/// <reference types="mongoose/types/middlewares" />
/// <reference types="mongoose/types/indexes" />
/// <reference types="mongoose/types/models" />
/// <reference types="mongoose/types/mongooseoptions" />
/// <reference types="mongoose/types/pipelinestage" />
/// <reference types="mongoose/types/populate" />
/// <reference types="mongoose/types/query" />
/// <reference types="mongoose/types/schemaoptions" />
/// <reference types="mongoose/types/schematypes" />
/// <reference types="mongoose/types/session" />
/// <reference types="mongoose/types/types" />
/// <reference types="mongoose/types/utility" />
/// <reference types="mongoose/types/validation" />
/// <reference types="mongoose/types/virtuals" />
/// <reference types="mongoose/types/inferschematype" />
import mongoose, { Document, Model } from 'mongoose';
export declare enum ELogType {
    TRANSACTIONS_UPLOAD = "TRANSACTIONS_UPLOAD",
    COLLATERAL_UPLOAD = "COLLATERAL_UPLOAD",
    LOAN_TRANSACTION = "LOAN_TRANSACTION",
    RECEIVABLE_AVAILABILITY = "RECEIVABLE_AVAILABILITY",
    INVENTORY_AVAILABILITY = "INVENTORY_AVAILABILITY",
    EQUIPMENT = "EQUIPMENT",
    RESERVES = "RESERVES",
    COLLATERAL_ADJUSTMENTS = "COLLATERAL_ADJUSTMENTS",
    LOGIN = "LOGIN",
    SIGN_BBC = "SIGN_BBC",
    REVOKE_BBC = "REVOKE_BBC",
    PROSPECT = "PROSPECT"
}
export declare enum ELogActionType {
    UPLOAD = "UPLOAD",
    CREATE = "CREATE",
    EDIT = "EDIT",
    DELETE = "DELETE"
}
export interface IUserLog {
    logType: ELogType;
    userId: string;
    timestamp: Date;
    action: ELogActionType;
    recordId: mongoose.Types.ObjectId;
    recordCollection: string;
    details: any;
}
export interface IUserLogDoc extends IUserLog, Document {
}
export interface IUserLogWithLookup extends IUserLog {
    record?: any;
}
type UserLogModel = Model<IUserLog, {}, {}>;
export declare const UserLogSchema: mongoose.Schema<IUserLog, UserLogModel, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, IUserLog, mongoose.Document<unknown, {}, mongoose.FlatRecord<IUserLog>> & mongoose.FlatRecord<IUserLog> & {
    _id: mongoose.Types.ObjectId;
}>;
export declare const UserLog: UserLogModel;
export {};
