import { ChangeDetectorRef, EventEmitter, Injector, OnChanges, OnInit, SimpleChanges } from "@angular/core"; import { FormBuilder, FormGroup } from "@angular/forms"; import { Subject } from "rxjs"; import { EventBus, IDataSource, IEvent, LoggerService } from "@nova-ui/bits"; import { ProviderRegistryService } from "../../../../../services/provider-registry.service"; import { IHasChangeDetector, IHasForm, IProperties } from "../../../../../types"; import { ConfiguratorHeadingService } from "../../../../services/configurator-heading.service"; import * as i0 from "@angular/core"; /** * This is a basic implementation of a data source configuration component. In the real world scenario, this component will most likely be replaced by a * custom one, but still can be used as a template for developing a custom specific solution. */ export declare class DataSourceConfigurationComponent implements IHasChangeDetector, IHasForm, OnInit, OnChanges { changeDetector: ChangeDetectorRef; configuratorHeading: ConfiguratorHeadingService; private formBuilder; private providerRegistryService; private eventBus; private injector; private logger; static lateLoadKey: string; /** * This component shows a dropdown with options for selecting a data source, this input represents these options. */ dataSourceProviders: string[]; errorComponent: string; properties: IProperties; providerId: string; formReady: EventEmitter>; form: FormGroup; hasDataSourceError: boolean; dataSource: IDataSource; dsOutput: Subject; dataFieldIds: Subject; constructor(changeDetector: ChangeDetectorRef, configuratorHeading: ConfiguratorHeadingService, formBuilder: FormBuilder, providerRegistryService: ProviderRegistryService, eventBus: EventBus, injector: Injector, logger: LoggerService); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; onDataSourceChange(providerId: string): void; /** * The data source is invoked here to notify the rest of the form about changes in the data source output. * DATA_SOURCE_OUTPUT event is emitted through the event bus carrying the data source result as the payload. * This might not be necessary in every situation. If the important information is already stored in the * data source properties, this step can be omitted. * * @param providerId */ invokeDataSource(providerId: string): void; onErrorState(isError: boolean): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }