import { type IBaseObject, type IBaseObjectOptions } from "../../common/baseObject/IBaseObject";
import { type BaseObjectType } from "../../../../shared";
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>);
    destroy(): void;
}
