import { Observable } from 'rxjs'; import { DSCoreService } from '../ds-core.service'; import { QueryReturn } from '../models'; import { QueryOptions } from '../types'; import { EntityBusinessService, EntityBusinessState } from './entity-business.service'; import { SmartFilterBarService } from './smart-filter-bar.service'; /** * Service 初始化过程的通用接口 */ export interface ServiceInit { /** * Service 初始化方法 */ onInit(): Observable; /** * 可监听的初始化完成状态 */ onAfterServiceInit(): Observable; } export type SmartBusinessState = EntityBusinessState; export declare class SmartBusinessService extends EntityBusinessService implements ServiceInit { smartFilterBar?: SmartFilterBarService; private serviceInit$; constructor(dsCoreService: DSCoreService, smartFilterBar?: SmartFilterBarService); /** * Service 初始化, 判断满足条件后才能往后发送事件, 否则可能造成后续逻辑报错 * * @returns */ onInit(): Observable; onAfterServiceInit(): Observable; selectQuery(options?: QueryOptions): Observable>; /** * 过滤器存在优先级覆盖顺序 * 1. queryOptions 指定的过滤器 * 2. FilterBar 中选择的过滤器 * 3. SelectionVariant 中指定的过滤器 * * @param queryOptions * @returns */ calculateFilters(queryOptions?: QueryOptions): QueryOptions; }