import { Getter } from '@loopback/core';
import { BelongsToAccessor, DefaultCrudRepository, Filter, FilterExcludingWhere, Options } from '@loopback/repository';
import { DbDataSource } from '../datasources';
import { ObjectNode, ObjectNodeRelations, ObjectType } from '../models';
import { ObjectTypeRepository } from './object-type.repository';
export declare class ObjectNodeRepository extends DefaultCrudRepository<ObjectNode, typeof ObjectNode.prototype.id, ObjectNodeRelations> {
    protected objectTypeRepositoryGetter: Getter<ObjectTypeRepository>;
    protected objectNodeRepositoryGetter: Getter<ObjectNodeRepository>;
    readonly objectType: BelongsToAccessor<ObjectType, typeof ObjectNode.prototype.id>;
    readonly parentNode: BelongsToAccessor<ObjectNode, typeof ObjectNode.prototype.id>;
    readonly parentOwner: BelongsToAccessor<ObjectNode, typeof ObjectNode.prototype.id>;
    readonly parentTree: BelongsToAccessor<ObjectNode, typeof ObjectNode.prototype.id>;
    readonly parentNamespace: BelongsToAccessor<ObjectNode, typeof ObjectNode.prototype.id>;
    readonly parentACL: BelongsToAccessor<ObjectNode, typeof ObjectNode.prototype.id>;
    constructor(dataSource: DbDataSource, objectTypeRepositoryGetter: Getter<ObjectTypeRepository>, objectNodeRepositoryGetter: Getter<ObjectNodeRepository>);
    private buildTitle;
    find(filter?: Filter<ObjectType>, options?: Options): Promise<(ObjectNode & ObjectNodeRelations)[]>;
    findById(id: typeof ObjectNode.prototype.id, filter?: FilterExcludingWhere<ObjectNode>, options?: Options): Promise<ObjectNode & ObjectNodeRelations>;
    findOne(filter?: Filter<ObjectNode>, options?: Options): Promise<(ObjectNode & ObjectNodeRelations) | null>;
}
