import { TEncodedObject, TPropertyObject } from 'tscommons-esm-core'; import { ICommonsUniquelyIdentified, ICommonsSecondClass, ICommonsFirstClass } from 'tscommons-esm-models'; import { ICommonsManaged } from 'tscommons-esm-models-adamantine'; import { ICommonsStrictParamsRequest, TCommonsHttpResponse } from 'nodecommons-esm-http'; import { TCommonsDatabaseDbValues, TCommonsDatabaseParams, TCommonsDatabaseTypes } from 'nodecommons-esm-database'; import { CommonsFirstClass } from 'nodecommons-esm-models'; import { CommonsManagedSecondClass } from 'nodecommons-esm-models-adamantine'; import { TCommonsContentHandler } from 'nodecommons-esm-rest'; import { ManagedModelApi } from './managed-model.api.mjs'; export declare class ManagedSecondClassApi, ModelClassT extends CommonsManagedSecondClass, EncodedT extends TEncodedObject, FirstClassI extends ICommonsFirstClass & ICommonsManaged, FirstClassClassT extends CommonsFirstClass> extends ManagedModelApi { private encodeData; private postCreateCallback?; private postUpdateCallback?; private postDeleteCallback?; private preCreateCallback?; private preUpdateCallback?; private preDeleteCallback?; private altCreateCallback?; private altUpdateCallback?; private altDeleteCallback?; private firstClassModel; constructor(path: string, model: ModelClassT, encodeData: (m: ModelI) => EncodedT, postCreateCallback?: ((firstClass: FirstClassI, inserted: ModelI) => Promise) | undefined, postUpdateCallback?: ((firstClass: FirstClassI, updated: ModelI) => Promise) | undefined, postDeleteCallback?: ((firstClass: FirstClassI, existing: ModelI) => Promise) | undefined, preCreateCallback?: ((firstClass: FirstClassI, inserting: TPropertyObject) => Promise) | undefined, preUpdateCallback?: ((firstClass: FirstClassI, updating: ModelI) => Promise) | undefined, preDeleteCallback?: ((firstClass: FirstClassI, existing: ModelI) => Promise) | undefined, altCreateCallback?: ((firstClass: FirstClassI, insert: TPropertyObject) => Promise) | undefined, altUpdateCallback?: ((firstClass: FirstClassI, update: ModelI) => Promise) | undefined, altDeleteCallback?: ((firstClass: FirstClassI, existing: ModelI) => Promise) | undefined); private getFirstClass; applyReadData(getHandler: (query: string, handler: TCommonsContentHandler) => void): void; private doUpdate; 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; }