import { LucidModel } from '@adonisjs/lucid/types/model';
import { AKModel } from '../model.js';
import { AKModelServiceBaseClass } from './base.js';
import { AKModelServiceCreateClass } from './create.js';
import { AKModelServiceDeleteClass } from './delete.js';
import { AKModelServiceFetchClass } from './fetch.js';
import { AKModelServiceUpdateClass } from './update.js';
export type AKModelServiceClass<M extends typeof AKModel> = AKModelServiceBaseClass<M> & AKModelServiceFetchClass<M> & AKModelServiceCreateClass<M> & AKModelServiceUpdateClass<M> & AKModelServiceDeleteClass<M>;
export declare const AKModelService: <M extends typeof AKModel>(m: M) => AKModelServiceClass<M>;
export type ModelPayload<Model extends InstanceType<LucidModel>> = Partial<{
    [Field in {
        [P in keyof Model]: P extends keyof InstanceType<LucidModel> | 'serializeExtras' ? never : Model[P] extends Function ? never : P;
    }[keyof Model]]: Partial<Model[Field]>;
}>;
