import { Model } from "@mongez/monpulse"; import { GenericObject } from "@mongez/reinforcements"; import { RepositoryManager } from "./repository-manager"; import { Fillable, FillableColumnDataType, FillableColumnOptions } from "./types"; export declare class RepositoryFiller { protected repository: RepositoryManager; protected fillable?: Fillable; protected filled?: string[]; /** * Constructor */ constructor(repository: RepositoryManager, fillable?: Fillable, filled?: string[]); /** * Create new record */ create(data: any): Promise; /** * Update record */ update(model: Model, data: any): Promise; /** * Increment a column value */ increment(model: Model | number, column: string, value?: number): Promise; /** * Decrement a column value */ decrement(model: Model | number, column: string, value?: number): Promise; /** * Parse fillable */ protected parseFillable(model: Model, data: any): Promise; /** * Parse fillable input and return the value based on the fill options */ protected parseFillableInput(key: string, fillable: FillableColumnDataType | FillableColumnOptions, data: any, model: Model): Promise<{ value: any; column: string; defaultValue: any; isValid: boolean; mandatory: boolean; }>; /** * Cast value to the given type */ protected castValue(value: any, model: Model, type: FillableColumnDataType): Promise; } //# sourceMappingURL=repository-filler.d.ts.map