import { DynamicModule, Type } from '@nestjs/common';
import { BaseService } from '../base/base.service';
import { EndpointType } from '../decorators/endpoint.decorator';
export interface ModelModuleOptions<T = any, CreateDto = any, UpdateDto = any> {
    modelName: string;
    routePath?: string;
    enabledEndpoints?: EndpointType[];
    enableAllEndpoints?: boolean;
    serviceType?: Type<BaseService<T, CreateDto, UpdateDto>>;
    providers?: any[];
    imports?: any[];
    exports?: any[];
}
export declare function createModelModule<T = any, CreateDto = any, UpdateDto = any>(options: ModelModuleOptions<T, CreateDto, UpdateDto>): DynamicModule;
export declare function createModelService<T, CreateDto, UpdateDto>(modelName: string, prismaModelKey: string): Type<BaseService<T, CreateDto, UpdateDto>>;
export declare function createModelController<T, CreateDto, UpdateDto>(modelName: string, routePath: string, serviceType: Type<BaseService<T, CreateDto, UpdateDto>>): Type<any>;
