import { TreeNodeBase } from '@tomei/general';
import { StatusEnum } from '../../enum/status.enum';
import { LoginUser } from '@tomei/sso';
import { IProductCategoryUpdate } from '../../interfaces/product-category-update-attr.interface';
interface ImappingInfoParam {
    platform: string;
    platformCategoryId: string;
    platformCategoryName: string;
}
export declare class ProductCategory extends TreeNodeBase<ProductCategory> {
    ObjectId: string;
    ObjectName: string;
    ObjectType: string;
    TableName: string;
    Code: string;
    CodePath: string;
    ParentCode: string;
    Name: string;
    Description: string;
    isChildrenLoaded: boolean;
    isParentLoaded: boolean;
    private _Status;
    private _CreatedById;
    private _CreatedAt;
    private _UpdatedById;
    private _UpdatedAt;
    private static _Repository;
    get Status(): StatusEnum;
    get CreatedById(): string;
    get CreatedAt(): Date;
    get UpdatedById(): string;
    get UpdatedAt(): Date;
    private constructor();
    static init(code?: string): Promise<ProductCategory>;
    loadChildren(): Promise<void>;
    loadParent(): Promise<void>;
    create(loginUser: LoginUser, dbTransaction?: any): Promise<void>;
    update(payload: IProductCategoryUpdate, loginUser: LoginUser, dbTransaction?: any): Promise<void>;
    private checkAndUpdateChildrenCodePath;
    static findAll(loginUser: LoginUser, dbTransaction?: any, page?: number, rows?: number, search?: {}): Promise<any>;
    delete(loginUser: LoginUser, dbTransaction?: any): Promise<void>;
    assignPlatfromMapping(loginUser: LoginUser, dbTransaction: any, mappingInfo: ImappingInfoParam): Promise<import("../..").SettingsPlatformCategoryMappingModel>;
    getPlatformMapping(loginUser: LoginUser, dbTransaction: any, page?: number, row?: number): Promise<any>;
}
export {};
