import { Orm, ModelBase } from '@spinajs/orm'; import { IRouteParameter, IRouteCall, ParameterType, ArgHydrator, Request as sRequest, RouteArgs, IRoute } from '@spinajs/http'; import { IContainer, Bootstrapper } from '@spinajs/di'; import { FromModelOptions } from './interfaces.js'; export * from './interfaces.js'; export * from './model.js'; export * from './decorators.js'; export * from './extension.js'; export * from './route-arg.js'; export * from './builders.js'; export * from './dto.js'; export * from './response-methods/OrmNotFound.js'; import * as express from 'express'; /** * Route arg to hydrate model from request body * * For now its basically alias for FromBody, for convinience to separate model hydration from other body params */ export declare class AsDbModel extends RouteArgs { get SupportedType(): string; extract(callData: IRouteCall, _args: unknown[], param: IRouteParameter, req: sRequest, _res: express.Response, route: IRoute): Promise<{ CallData: IRouteCall; Args: any; }>; } export declare class FromDbModel extends RouteArgs { protected Container: IContainer; protected Orm: Orm; resolve(): Promise; get SupportedType(): string; extract(callData: IRouteCall, args: unknown[], param: IRouteParameter, req: sRequest): Promise<{ CallData: IRouteCall; Args: any; }>; protected _extractValue(param: IRouteParameter>, req: sRequest): any; protected fromDbModelDefaultQueryFunction(callData: IRouteCall, _args: unknown[], param: IRouteParameter>, req: sRequest): Promise; } export declare class DbModelHydrator extends ArgHydrator { hydrate(input: any, parameter: IRouteParameter): Promise; } /** * Route arg to hydrate model from request body. * It only creates new instance and hydrates it with data from request. DOES NOT FETCH IT FROM DB or SAVE IT TO DB. * * NOTE: its basically alias for FromBody, for convinience to separate model hydration from other body params * * @param field optional field to taken from request * @param type from where to take field value, default is request BODY, but can be also query, param, header etc. * @returns */ export declare function AsModel(field?: string, type?: ParameterType): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void; /** * Automatically loads model from DB based on primary key passed in route, param, body or header * * @param options options for model fetching * @returns */ export declare function FromModel(options?: FromModelOptions>): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void; export declare class OrmHttpBootstrapper extends Bootstrapper { bootstrap(): Promise; } //# sourceMappingURL=index.d.ts.map