import { IAddress, IRepositoryBase, IPerson, LoginUserBase } from '@tomei/general'; import FinanceCustomerModel from '../models/customer.entity'; import { AccountSystemEntity } from '../account-system-entity/account-system-entity'; import { FinanceCustomerRepository } from './finance-customer.repository'; import Account from '../account/account'; export default abstract class FinanceCustomerBase extends AccountSystemEntity implements IPerson { CustomerId: string; CustSystemCode: string; CustSystemRefId: string; AccSystemRefId: string; PostedToAccSystemYN: string; PostedById: string; protected abstract ParentARAccountNo: string; protected abstract ParentAPAccountNo: string; protected abstract ARAccountNo: string; protected abstract APAccountNo: string; protected abstract _ObjectType: string; abstract FullName: string; abstract IDNo: string; abstract IDType: string; abstract ContactNo: string; abstract Email: string; abstract DefaultAddress: IAddress; private _AccountReceivable; private _AccountPayable; protected _DbTransaction: any; private static _AccountRepository; private static _LedgerTransactionRepository; getDetails(): Promise<{ FullName: string; IDNo: string; IDType: string; Email: string; ContactNo: string; }>; protected static _FinanceCustomerRepository: FinanceCustomerRepository; RepositoryBase: IRepositoryBase; constructor(custSystemRefId?: string, custSystemCode?: string, sFinanceCompanyId?: string); TaxIdentificationNo: string; static initCustomer(this: new () => C, custSystemRefId: string, custSystemCode: string, sFinanceCompanyId: string, dbTransaction?: any): Promise; getAccountReceivable(dbTransaction?: any): Promise; getAccountPayable(dbTransaction?: any): Promise; abstract getBillingAddress(params: any): Promise; init(person: LoginUserBase): void; save(accSystemRefId: string, custSystemCode: string, custSystemRefId: string, dbTransaction?: any): Promise; update(accSystemRefId?: string, dbTransaction?: any): Promise; static isFinanceCustomerExist(custSystemRefId: string, custSystemCode: string, sFinanceCompanyId: string, dbTransaction?: any): Promise; getOutstandingBalance(dbTransaction: any): Promise; } //# sourceMappingURL=customer.d.ts.map