import { OnChanges, SimpleChanges, OnDestroy } from '@angular/core'; import { Set } from 'immutable'; import { Subscription } from 'rxjs/Subscription'; import { AbstractSubscriberComponent } from '../abstract-subscriber'; import { DomUtilService, PathUtilService, KeysStoreService, JsonSchemaService } from '../shared/services'; import { JSONSchema } from '../shared/interfaces'; export declare class AddNestedFieldDropdownComponent extends AbstractSubscriberComponent implements OnChanges, OnDestroy { keysStoreService: KeysStoreService; jsonSchemaService: JsonSchemaService; pathUtilService: PathUtilService; domUtilService: DomUtilService; schema: JSONSchema; pathString: string; isDisabled: boolean; nestedKeysMap: { [path: string]: Set; }; keysChangeSubscription: Subscription; constructor(keysStoreService: KeysStoreService, jsonSchemaService: JsonSchemaService, pathUtilService: PathUtilService, domUtilService: DomUtilService); ngOnChanges(changes: SimpleChanges): void; /** * Return keys that could be added for the given path. * * @return schema key - hidden keys - existing keys */ addableKeysForPath(path: string): Set; onFieldSelect(path: string, key: string): void; }