import { AccountSystemEntity } from '../account-system-entity/account-system-entity';
import { AccountRepository } from './account.repository';
export default class Account extends AccountSystemEntity {
    AccountNo: string;
    ParentAccountNo?: string;
    Name: string;
    Description: string;
    AccountType: string;
    AccountSubtype: string;
    OwnerId: string;
    OwnerType: string;
    RelatedObjectId: string;
    RelatedObjectType: string;
    AccSystemRefId: string;
    PostedToAccSystemYN: string;
    PostedById: string;
    PostedDateTime: Date;
    CreatedById: string;
    CreatedAt: Date;
    UpdatedById: string;
    UpdatedAt: Date;
    protected _ObjectType: string;
    private static _RepositoryBase;
    private _DbTransaction;
    private _IsNewRecord;
    private get IsNewRecord();
    private set IsNewRecord(value);
    get ObjectType(): string;
    get RepositoryBase(): AccountRepository;
    get ObjectId(): string;
    get ObjectName(): string;
    get TableName(): string;
    constructor(dbTransaction?: any, accountNo?: string);
    init(accountData: any): void;
    static initAccount(dbTransaction: any, accountNo: string): Promise<Account>;
    static initialize(): void;
    validateAccountValue(): void;
    isParentAccountExists(): boolean;
    save(CompanyId: string, AccSystemRefId: string, userId: string, dbTransaction?: any): Promise<Account>;
}
//# sourceMappingURL=account.d.ts.map