import { ICommonsModel } from 'tscommons-esm-models'; import { ICommonsManagedModelField } from 'tscommons-esm-models-adamantine'; import { TCommonsDatabaseTypes } from 'nodecommons-esm-database'; import { TCommonsContentHandler } from 'nodecommons-esm-rest'; import { CommonsModelable } from 'nodecommons-esm-models'; import { ICommonsStrictParamsRequest, TCommonsHttpResponse } from 'nodecommons-esm-http'; export declare abstract class AdamantineModelApi> { protected path: string; protected model: ModelClassT; constructor(path: string, model: ModelClassT); protected getMetadataFields(fields: string[]): ICommonsManagedModelField[]; applyMetadata(_getHandler: (query: string, handler: TCommonsContentHandler) => void): void; applyReadData(_getHandler: (query: string, handler: TCommonsContentHandler) => void): void; protected attemptBuildData(fields: string[], data: Partial & { id?: never; ordered?: never; parent?: never; }, skipOmitted: boolean): Partial & { id?: never; ordered?: never; parent?: never; }; applyWriteData(_postHandler: (query: string, handler: TCommonsContentHandler) => void, _putHandler: (query: string, handler: TCommonsContentHandler) => void, _patchHandler: (query: string, handler: TCommonsContentHandler) => void, _deleteHandler: (query: string, handler: TCommonsContentHandler) => void): void; apply(getHandler: (query: string, handler: TCommonsContentHandler) => void, postHandler: (query: string, handler: TCommonsContentHandler) => void, putHandler: (query: string, handler: TCommonsContentHandler) => void, patchHandler: (query: string, handler: TCommonsContentHandler) => void, deleteHandler: (query: string, handler: TCommonsContentHandler) => void): void; }