///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
import { Transaction as SdkTransaction } from "@dhealth/sdk";
import { Model } from "mongoose";
import { ObjectLiteral } from "@dhealth/contracts";
import { Documentable } from "../concerns/Documentable";
import { Transferable } from "../concerns/Transferable";
import { Queryable, QueryParameters } from "../concerns/Queryable";
import { TransactionDTO } from "../../discovery/models/TransactionDTO";
export declare class Transaction extends Transferable {
collectionName: string;
readonly sourceAddress: string;
readonly signerAddress: string;
readonly signerPublicKey: string;
readonly recipientAddress: string;
readonly transactionMode: string;
readonly transactionType: string;
readonly transactionHash: string;
readonly transactionMessage?: string;
readonly transactionAssets?: ObjectLiteral[];
readonly signature: string;
readonly encodedBody: string;
readonly creationBlock: number;
readonly discoveredAt: number;
readonly createdAt?: Date;
readonly updatedAt?: Date;
get toQuery(): Record;
toSDK(): SdkTransaction;
static fillDTO(doc: TransactionDocument, dto: TransactionDTO): TransactionDTO;
}
export declare type TransactionDocument = Transaction & Documentable;
export declare class TransactionModel extends Model {
}
export declare class TransactionQuery extends Queryable {
constructor(document?: TransactionDocument, queryParams?: QueryParameters);
}
export declare const TransactionSchema: import("mongoose").Schema, {}, {}, {}, {}, "type", Transaction>;