import { Orm, ModelBase } from '@spinajs/orm'; import { IRouteParameter, IRouteCall, ArgHydrator, Request as sRequest, RouteArgs } from '@spinajs/http'; import { IContainer, Bootstrapper } from '@spinajs/di'; import { FromModelOptions } from './interfaces.js'; export declare class AsDbModel extends RouteArgs { get SupportedType(): string; extract(callData: IRouteCall, _args: unknown[], param: IRouteParameter, req: sRequest): Promise<{ CallData: IRouteCall; Args: ModelBase; }>; } 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 fromDbModelDefaultQueryFunction(callData: IRouteCall, _args: unknown[], param: IRouteParameter>, req: sRequest): Promise; } export declare class DbModelHydrator extends ArgHydrator { hydrate(input: any, parameter: IRouteParameter): Promise; } /** * Creates model base on body data. Data is taken from field name passed in options or from parameter name * * @param field body field name to get model data from * @returns */ export declare function AsModel(field?: string): (target: any, propertyKey?: string | symbol, indexOrDescriptor?: number | PropertyDescriptor) => void; /** * Loads model from db based on primary key added to route/param/body * * @param field route/param/body field for primary key * @param type from where to get primary key value ( body, query, param ) * @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