import {ModelId} from '../types.js'; import {AnyObject} from '../types.js'; import {ModelData} from '../types.js'; import {Service} from '@e22m4u/js-service'; import {WhereClause} from '../filter/index.js'; import {FilterClause} from '../filter/index.js'; import {ItemFilterClause} from '../filter/index.js'; import {ServiceContainer} from '@e22m4u/js-service'; /** * Adapter. */ export declare class Adapter extends Service { /** * Kinds. */ static kinds: string[]; /** * Settings. */ get settings(): AnyObject | undefined; /** * Constructor. * * @param container * @param settings */ constructor(container?: ServiceContainer, settings?: AnyObject); /** * Create. * * @param modelName * @param modelData * @param filter */ create( modelName: string, modelData: ModelData, filter?: ItemFilterClause, ): Promise; /** * Replace by id. * * @param modelName * @param id * @param modelData * @param filter */ replaceById( modelName: string, id: ModelId, modelData: ModelData, filter?: ItemFilterClause, ): Promise; /** * Replace or create. * * @param modelName * @param modelData * @param filter */ replaceOrCreate( modelName: string, modelData: ModelData, filter?: ItemFilterClause, ): Promise; /** * Patch. * * @param modelName * @param modelData * @param where */ patch( modelName: string, modelData: ModelData, where?: WhereClause, ): Promise; /** * Patch by id. * * @param modelName * @param id * @param modelData * @param filter */ patchById( modelName: string, id: ModelId, modelData: ModelData, filter?: ItemFilterClause, ): Promise; /** * Find. * * @param modelName * @param filter */ find(modelName: string, filter?: FilterClause): Promise; /** * Find by id. * * @param modelName * @param id * @param filter */ findById( modelName: string, id: ModelId, filter?: ItemFilterClause, ): Promise; /** * Delete. * * @param modelName * @param where */ delete(modelName: string, where?: WhereClause): Promise; /** * Delete by id. * * @param modelName * @param id */ deleteById(modelName: string, id: ModelId): Promise; /** * Exists. * * @param modelName * @param id */ exists(modelName: string, id: ModelId): Promise; /** * Count. * * @param modelName * @param where */ count(modelName: string, where?: WhereClause): Promise; }