import { Type, Injector } from '@angular/core'; import { Observable } from 'rxjs'; import { HttpClient } from '@angular/common/http'; export declare class PropertyDataSourceStandaloneOptions { /**数据来源 */ source: PropertyDataSourceOptions['itemSelect']; /**级联标志 */ cascade?: boolean; /**实体化类 */ entity?: Type; } export declare class PropertyDataSourceOptions { /**所有的属性数据来源,多个时,只取第一个,即最靠近属性的一个 */ source?: (httpClient: HttpClient, injector: Injector, parentResult: Exclude>) => Observable; /**级联标志 */ cascade?: boolean; /**是否继承 */ inherit?: boolean; /**如果返回数据是结构化实体需要 * 定义实体且只有实体,查找实体的source,不使用自身的source */ entity?: Type; /**分发到各item中使用 */ itemSelect?: ( /**自身类型 */ item: any, /**当前键名 */ key: string, /**在列表中的索引位置,单一为0 */ index: number, /**source中返回的结果 */ result: RESULT extends Observable ? never : RESULT, /**HttpClient注入 */ httpClient: HttpClient, /**Injector注入 */ injector: Injector) => Observable; } export declare class PropertyDataSourceOptionsPrivate extends PropertyDataSourceOptions { key: string; parentEntity: Type; /**是否已经继承过 */ hasInherit?: boolean; } export declare class ClassDataSourceOptions { /**数据来源 */ source: (httpClient: HttpClient, injector: Injector, ...args: any[]) => Observable; /**是否继承父级,true时直接使用父级source */ inherit?: boolean; } export declare class ClassDataSourceOptionsPrivate extends ClassDataSourceOptions { entity: Type; }