import type FieldCollection from '../Collections/FieldCollection';
import type { AbstractMixable, CallbackStack, Model } from '../Contracts';
import type AvonRequest from '../Http/Requests/AvonRequest';
declare const _default: <T extends AbstractMixable = AbstractMixable>(Parent: T) => (abstract new (...args: import("../Contracts").Args) => {
    /**
     * Fill a new model instance using the given request.
     */
    fillForCreation<TModel extends Model>(request: AvonRequest, model: TModel): CallbackStack;
    /**
     * Fill a new model instance using the given request.
     */
    fillForUpdate<TModel extends Model>(request: AvonRequest, model: TModel): CallbackStack;
    /**
     * Fill the given fields for the model.
     */
    fillFields<TModel extends Model>(request: AvonRequest, model: TModel, fields: FieldCollection): CallbackStack;
}) & T;
export default _default;
