import { FieldListResult, FieldMeta, FieldScope, ModelMeta } from '../../capabilities/model-field-runtime';
/**
 * 字段/模型查询能力（不依赖 Vue provide/inject）。
 * 由 {@link SuiteRuntime} 实现。
 */
export interface FieldModelQuery {
    readonly fieldScope: FieldScope;
    loadFieldList(modelKey: ModelKey, params?: any): Promise<FieldListResult>;
    loadFieldByKey(modelKey: ModelKey, key: string): Promise<FieldMeta | undefined>;
    loadFieldById(modelKey: ModelKey, id: string): Promise<FieldMeta | undefined>;
    loadModelInfo(modelKey: ModelKey): Promise<ModelMeta | undefined>;
    getFieldList(modelKey: ModelKey): FieldMeta[];
    getFieldByKeyAsync(modelKey: ModelKey, key: string): FieldMeta | undefined;
    getFieldByIdAsync(modelKey: ModelKey, id: string): FieldMeta | undefined;
    getModel(modelKey: ModelKey): ModelMeta | undefined;
    getMasterSlaveFieldList(modelKey: ModelKey): FieldMeta[];
    reloadFields(modelKey: ModelKey): Promise<FieldListResult>;
    reloadModel(modelKey: ModelKey): Promise<[ModelMeta | undefined, FieldListResult]>;
}
