import { ViewModel, Entity, ViewModelState } from '@farris/devkit-vue';
import { BaseDataService } from './base-data.service';
import { FormLoadingService } from '../form-loading.service';

/**
 * 数据加载服务
 */
declare class LoadDataService extends BaseDataService {
    private formLoadingService;
    /**
     * 构造函数
     */
    constructor(viewModel: ViewModel<ViewModelState>, formLoadingService: FormLoadingService);
    /**
     * 加载数据
     * @param filters 过滤条件
     * @param sorts 排序条件
     */
    load(filters?: string | string[], sorts?: string | string[], pageSize?: number | null, pageIndex?: number | null): Promise<Entity[]>;
    /**
     *加载实体
     */
    loadById(id: string): Promise<Entity>;
    /**
     * 转换分页大小
     * @param pageSize 分页大小
     * @returns
     */
    private parsePageSize;
    /**
     * 转换页码
     * @param pageIndex 页码
     * @returns
     */
    private parsePageIndex;
    /**
     * 合并过滤条件
     * @param filters
     * @returns
     */
    private mergeFilterConditions;
    /**
     * 合并排序条件
     * @param sorts
     * @returns
     */
    private mergeSortConditions;
}
export { LoadDataService };
