import { TEncodedObject, TPropertyObject } from 'tscommons-esm-core'; import { ICommonsM2MLink, ICommonsUniquelyIdentified, ICommonsFirstClass, ICommonsOrdered, ICommonsSecondClass, ICommonsHierarchy } from 'tscommons-esm-models'; import { ICommonsManaged } from 'tscommons-esm-models-adamantine'; import { TCommonsDatabaseParams, TCommonsDatabaseTypes, TCommonsDatabaseDbValues } from 'nodecommons-esm-database'; import { ICommonsStrictParamsRequest, TCommonsHttpResponse } from 'nodecommons-esm-http'; import { CommonsManagedM2MLinkTable, CommonsManagedFirstClass, CommonsManagedOrdered, CommonsManagedSecondClass, CommonsManagedHierarchy } from 'nodecommons-esm-models-adamantine'; import { CommonsFirstClass } from 'nodecommons-esm-models'; import { TCommonsContentHandler } from 'nodecommons-esm-rest'; import { AdamantineModelApi } from './adamantine-model.api.mjs'; export declare class ManagedM2MLinkTableApi, ModelClassT extends CommonsManagedM2MLinkTable, EncodedT extends TEncodedObject, AModelI extends (ICommonsManaged | (ICommonsManaged & ICommonsUniquelyIdentified)), AModelClassT extends (CommonsManagedFirstClass | CommonsManagedOrdered | CommonsManagedSecondClass & ICommonsManaged, TCommonsDatabaseParams, TCommonsDatabaseTypes, TCommonsDatabaseDbValues, ICommonsFirstClass, CommonsFirstClass> | CommonsManagedHierarchy & ICommonsManaged, TCommonsDatabaseParams, TCommonsDatabaseTypes, TCommonsDatabaseDbValues, ICommonsFirstClass, CommonsFirstClass>), BModelI extends (ICommonsManaged | (ICommonsManaged & ICommonsUniquelyIdentified)), BModelClassT extends (CommonsManagedFirstClass | CommonsManagedOrdered | CommonsManagedSecondClass & ICommonsManaged, TCommonsDatabaseParams, TCommonsDatabaseTypes, TCommonsDatabaseDbValues, ICommonsFirstClass, CommonsFirstClass> | CommonsManagedHierarchy & ICommonsManaged, TCommonsDatabaseParams, TCommonsDatabaseTypes, TCommonsDatabaseDbValues, ICommonsFirstClass, CommonsFirstClass>)> extends AdamantineModelApi { private encodeData; private nonManagedAllowedDirectDataFields; private postLinkCallback?; private postUnlinkCallback?; private postUpdateCallback?; private preLinkCallback?; private preUnlinkCallback?; private preUpdateCallback?; private altLinkCallback?; private altUnlinkCallback?; private altUpdateCallback?; private aPlural; private bPlural; constructor(path: string, model: ModelClassT, encodeData: (m: ModelI) => EncodedT, nonManagedAllowedDirectDataFields?: string[], postLinkCallback?: ((a: AModelI, b: BModelI, row: ModelI) => Promise) | undefined, postUnlinkCallback?: ((a: AModelI, b: BModelI, row: ModelI) => Promise) | undefined, postUpdateCallback?: ((a: AModelI, b: BModelI, row: ModelI) => Promise) | undefined, preLinkCallback?: ((a: AModelI, b: BModelI, row: TPropertyObject) => Promise) | undefined, preUnlinkCallback?: ((a: AModelI, b: BModelI, row: ModelI) => Promise) | undefined, preUpdateCallback?: ((a: AModelI, b: BModelI, row: ModelI) => Promise) | undefined, altLinkCallback?: ((a: AModelI, b: BModelI, row: TPropertyObject) => Promise) | undefined, altUnlinkCallback?: ((a: AModelI, b: BModelI, row: ModelI) => Promise) | undefined, altUpdateCallback?: ((a: AModelI, b: BModelI, row: ModelI) => Promise) | undefined); applyMetadata(getHandler: (query: string, handler: TCommonsContentHandler) => void): void; applyReadData(getHandler: (query: string, handler: TCommonsContentHandler) => void): void; 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; }