UNPKG

@avonjs/avonjs

Version:

A fluent Node.js API generator.

32 lines (31 loc) 1.18 kB
import { type AbstractMixable, type AnyValue, type FilterableCallback, type Model } from '../Contracts'; import type { Filter } from '../Filters'; import type AvonRequest from '../Http/Requests/AvonRequest'; import type { Repository } from '../Repositories'; declare const _default: <T extends AbstractMixable = AbstractMixable>(Parent: T) => (abstract new (...args: import("../Contracts").Args) => { /** * The callback to be used for the field's default value. */ filterableCallback?: FilterableCallback | boolean; /** * Apply the filter to the given query. */ applyFilter(request: AvonRequest, queryBuilder: Repository<Model>, value: AnyValue): Promise<void>; /** * Make the field filter. */ resolveFilter(request: AvonRequest): Filter | undefined; /** * The callback used to determine if the field is filterable. */ filterable(callback?: FilterableCallback | boolean): any; /** * Make the field filter. */ makeFilter(request: AvonRequest): Filter; /** * Define filterable attribute. */ filterableAttribute(request: AvonRequest): string; }) & T; export default _default;