import { QelosSDKOptions, RequestExtra } from './types'; import BaseSDK from './base-sdk'; import type { ICommonQueryFilters } from '@qelos/global-types'; export interface IBaseBlueprintEntity { identifier: string; user?: string; workspace?: string; tenant?: string; created: Date; updated: Date; metadata: any; } export type BlueprintEntityFilters = Record; export declare class QlBlueprintEntitiesQuery { #private; private entities; constructor(entities: QlBlueprintEntities); where(filters: BlueprintEntityFilters): this; limit(value: number): this; skip(value: number): this; sort(value: string): this; select(fields: string | string[]): this; toQuery(): ICommonQueryFilters & BlueprintEntityFilters; find(extra?: RequestExtra): Promise<(IBaseBlueprintEntity & T)[]>; findOne(extra?: RequestExtra): Promise<(IBaseBlueprintEntity & T) | undefined>; count(extra?: RequestExtra): Promise; } export default class QlBlueprintEntities extends BaseSDK { private options; private blueprintKey; private relativePath; constructor(options: QelosSDKOptions, blueprintKey: string); getEntity(identifier: string, extra?: RequestExtra): Promise; getList(query?: ICommonQueryFilters & Record, extra?: RequestExtra): Promise<(IBaseBlueprintEntity & T)[]>; remove(identifier: string, extra?: RequestExtra): Promise; update(identifier: string, changes: Partial, extra?: RequestExtra): Promise; create(entity: T & IBaseBlueprintEntity, extra?: RequestExtra): Promise; query(): QlBlueprintEntitiesQuery; where(filters: BlueprintEntityFilters): QlBlueprintEntitiesQuery; limit(value: number): QlBlueprintEntitiesQuery; skip(value: number): QlBlueprintEntitiesQuery; sort(value: string): QlBlueprintEntitiesQuery; select(fields: string | string[]): QlBlueprintEntitiesQuery; find(extra?: RequestExtra): Promise<(IBaseBlueprintEntity & T)[]>; findOne(identifier: string, extra?: RequestExtra): Promise; count(query?: BlueprintEntityFilters, extra?: RequestExtra): Promise; updateOne(identifier: string, changes: Partial, extra?: RequestExtra): Promise; deleteOne(identifier: string, extra?: RequestExtra): Promise; }