import { ILedgerTransactionAttr } from './interfaces/ledger-transaction-attr.interface';
import { TransactionTypeOptions } from '../enum/transaction-type.enum';
import LedgerTransactionModel from '../models/ledger-transaction.entity';
import { ObjectBase } from '@tomei/general';
export default class LedgerTransaction extends ObjectBase {
    ObjectName: string;
    TableName: string;
    ObjectType: string;
    ObjectId: string;
    TransactionType: TransactionTypeOptions;
    JournalEntryId: string;
    AccountNo: string;
    Date: Date;
    Name: string;
    Description: string;
    Currency: string;
    DebitAmount: number;
    CreditAmount: number;
    RelatedObjectId: string;
    RelatedObjectType: string;
    RelatedDocNo: string;
    RelatedPaymentId: string;
    get LedgerNo(): string;
    set LedgerNo(id: string);
    private _DbTransaction;
    private static _LedgerTransactionRepository;
    constructor(transactionType: TransactionTypeOptions, dbTransaction?: any, LedgerNo?: string);
    init(params?: ILedgerTransactionAttr): void;
    getData(): {
        LedgerNo: string;
        TransactionType: TransactionTypeOptions;
        JournalEntryId: string;
        AccountNo: string;
        Date: Date;
        Name: string;
        Description: string;
        Currency: string;
        DebitAmount: number;
        CreditAmount: number;
        RelatedObjectId: string;
        RelatedObjectType: string;
        RelatedDocNo: string;
        RelatedPaymentId: string;
    };
    save(dbTransaction?: any): Promise<LedgerTransactionModel>;
    create(): Promise<LedgerTransactionModel>;
    findAll(options: any): Promise<LedgerTransactionModel[]>;
    findAllWithPagination(options: any): Promise<{
        count: number;
        rows: LedgerTransactionModel[];
    }>;
    accountTransactionHistory(accountNo: string): Promise<LedgerTransactionModel[]>;
    newLedgerTransaction(transactionType: TransactionTypeOptions, journalEntryId?: string): Promise<any>;
}
//# sourceMappingURL=ledger-transaction.d.ts.map