import { Constructor } from '@adonisjs/core/types/common';
import { AKModel } from '../model.js';
import { AKModelServiceBaseClass } from './base.js';
import { AKModelServiceFetchClass } from './fetch.js';
import { ModelPayload } from './index.js';
import { AKModelServiceUpdateClass } from './update.js';
export type AKModelServiceCreateClass<M extends typeof AKModel> = AKModelServiceBaseClass<M> & AKModelServiceFetchClass<M> & AKModelServiceUpdateClass<M> & Constructor<{
    preCreate(payload: ModelPayload<InstanceType<M>>): Promise<void>;
    create(payload: ModelPayload<InstanceType<M>>): Promise<InstanceType<M>>;
    postCreate(payload: ModelPayload<InstanceType<M>>, created: InstanceType<M>): Promise<InstanceType<M>>;
    findOrCreate(payload: any): Promise<InstanceType<M>>;
}>;
export declare const AKModelServiceCreate: <M extends typeof AKModel>(superclass: AKModelServiceBaseClass<M> & AKModelServiceFetchClass<M> & AKModelServiceUpdateClass<M>) => AKModelServiceCreateClass<M>;
