import { TDMModel } from '@tdm/core'; import { DAOMethodType } from '../dao/index'; import { ResourceControl } from '../resource-control'; export interface ARMethodType { $create: any; $update: any; $replace: any; $remove: any; $get: any; } export declare type ARMethods = { [P in keyof ARMethodType]: any; }; /** * String enumeration of active record object methods */ export declare const ARMethods: ARMethodType; export declare type ARHookableMethods = keyof ARMethodType | keyof DAOMethodType; export interface ARHookRule { type: 'both' | 'static' | 'instance'; } export declare const ARHooks: { [P in ARHookableMethods]: ARHookRule; }; export declare type ARInterface = TDMModel & { [P in keyof typeof ARMethods]: (options?: Z) => ResourceControl; };