import { type BaseObjectType } from "@shared/entities";
import { type IBaseObject, type IBaseObjectOptions } from "../../common/baseObject/IBaseObject";
export interface IRageBaseObjectOptions<T extends EntityMp> extends IBaseObjectOptions {
    mpEntity: T;
}
export declare abstract class RageBaseObject<T extends EntityMp = EntityMp> implements IBaseObject {
    private readonly _mpEntity;
    get id(): number;
    get type(): BaseObjectType;
    get isExists(): boolean;
    protected get mpEntity(): T;
    protected constructor(options: IRageBaseObjectOptions<T>);
}
