import { Injector } from '@angular/core'; import { AbstractControl } from '@angular/forms'; import { BaseDataSource, BaseDataSourceMetadata, BaseDataSourceViewer, DataSourceLoader } from '@rxap/data-source'; import { IdOrInstanceOrToken } from '@rxap/definition'; import { ControlOptions } from '@rxap/utilities'; import { UseDataSourceSettings, UseDataSourceValue } from '../decorators/use-data-source'; import { InputSelectOptionsSettings } from '../directives/input-select-options.directive'; import { ExtractControlMixin } from './extract-control.mixin'; import { ExtractDataSourcesMixin } from './extract-data-sources.mixin'; import { ExtractFormDefinitionMixin } from './extract-form-definition.mixin'; export type UseOptionsDataSourceSettings = UseDataSourceSettings>; export declare const DATA_SOURCE_NAME = "options"; export declare function ComposeOptionsTransformers(...fnc: Array<(value: any) => any>): (value: any) => any; export declare function UseOptionsDataSource(dataSource: IdOrInstanceOrToken>, settings?: InputSelectOptionsSettings): (target: any, propertyKey: string) => any; export interface ExtractOptionsDataSourceMixin extends ExtractFormDefinitionMixin, ExtractDataSourcesMixin, ExtractControlMixin { } export declare class ExtractOptionsDataSourceMixin { protected settings?: UseOptionsDataSourceSettings; protected readonly dataSourceLoader: DataSourceLoader; protected metadata?: BaseDataSourceMetadata; protected viewer?: BaseDataSourceViewer; protected dataSource?: BaseDataSource>; protected readonly injector: Injector; protected useDataSourceValue?: UseDataSourceValue>; protected extractOptionsDatasource(control?: AbstractControl): BaseDataSource>; }