/// <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 { Address, Hash, Sym } from '@volare.finance/utils.js';
import { HydratedDocument } from 'mongoose';
export declare enum VolareLogTag {
    Vault = "vault",
    Collateral = "collateral",
    Short = "short",
    Long = "long",
    Order = "order"
}
export declare enum VolareLogEventToAction {
    LimitOrderFilled = "FillLimitOrder",
    LimitOrderCancelled = "CancelLimitOrder",
    VaultOpened = "OpenVault",
    VaultSettled = "SettleVault",
    VaultLiquidated = "Liquidate",
    CollateralAssetDeposited = "DepositCollateral",
    CollateralAssetWithdrawed = "WithdrawCollateral",
    ShortVTokenMinted = "MintShortOption",
    ShortVTokenBurned = "BurnShortOption",
    LongVTokenDeposited = "DepositLongOption",
    LongVTokenWithdrawed = "WithdrawLongOption",
    Redeem = "Redeem"
}
export declare class VolareLog {
    timestamp: number;
    blockNumber: number;
    transactionHash: Hash;
    logIndex: number;
    owner: Address;
    vaultId: number;
    asset: Sym;
    assetChanged: number;
    action: string;
    event: string;
    args: Array<string | string[]>;
    tag: VolareLogTag;
}
export type VolareLogDocument = HydratedDocument<VolareLog>;
export declare const VolareLogSchema: import("mongoose").Schema<VolareLog, import("mongoose").Model<VolareLog, any, any, any, import("mongoose").Document<unknown, any, VolareLog> & VolareLog & {
    _id: import("mongoose").Types.ObjectId;
}, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, VolareLog, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<VolareLog>> & import("mongoose").FlatRecord<VolareLog> & {
    _id: import("mongoose").Types.ObjectId;
}>;
