import { ActionDescriptor, type AnyModelSchema } from '@declaro/core';
import type { IModelServiceArgs } from './model-service-args';
import type { IRepository } from '../interfaces/repository';
export interface IActionOptions {
    /**
     * The scope of the load operation, e.g., 'detail', 'list', etc.
     */
    scope?: string;
}
export declare class BaseModelService<TSchema extends AnyModelSchema> {
    protected readonly namespace: string;
    protected readonly schema: TSchema;
    protected readonly emitter: IModelServiceArgs<TSchema>['emitter'];
    protected readonly repository: IRepository<TSchema>;
    constructor(args: IModelServiceArgs<TSchema>);
    getDescriptor(action: string, scope?: string): ActionDescriptor;
}
