import { ObjectBase } from '@tomei/general';
import { IUserReportingHierarchyAttr } from '../../interfaces/user-reporting-hierarchy.interface';
import { User } from '../login-user/user';
export declare class UserReportingHierarchy extends ObjectBase implements IUserReportingHierarchyAttr {
    ObjectId: string;
    ObjectName: string;
    ObjectType: string;
    TableName: string;
    ReportingUserId: number;
    UserId: number;
    Rank: number;
    Status: string;
    private _CreatedById;
    private _CreatedAt;
    private _UpdatedById;
    private _UpdatedAt;
    private static _Repo;
    get UserReportingHierarchyId(): number;
    set UserReportingHierarchyId(value: number);
    get CreatedById(): number;
    get CreatedAt(): Date;
    get UpdatedById(): number;
    get UpdatedAt(): Date;
    private constructor();
    static init(userReportingHierarchyId?: number, dbTransaction?: any): Promise<UserReportingHierarchy>;
    createUserReportingHierarchy(loginUser: User, dbTransaction: any, reportingUserId: number, userId: number, rank: number, status: 'Active' | 'Inactive'): Promise<UserReportingHierarchy>;
    updateUserReportingHierarchy(loginUser: User, dbTransaction: any, reportingUserId: number, userId: number, rank: number, status: 'Active' | 'Inactive'): Promise<UserReportingHierarchy>;
    static removeUserReportingHierarchy(loginUser: User, dbTransaction: any, userReportingHierarchyId: number): Promise<void>;
}
