import { Observable } from 'rxjs/Observable'; import { ComponentShell } from "./ComponentShell"; import { IComponentMapManager, ERegisterDependecy, EIsDependent } from "./IComponentMapManager"; import { TPropertyInfo } from "./TPropertyInfo"; /** * Property'lerin birbirleri arasındaki bağımlılıkların tutulduğu tablo item tipi */ export interface TComponentPropertyDependecyItem { formName: string; componentName: string; propertyName: string; depFormName: string; depComponentName: string; depPropertyName: string; } export interface TComponentRegistrationInfo { component: ComponentShell; } export declare class ComponentMapManager implements IComponentMapManager { private objectPropertDependecyTable; private componentMap; private propertyChangedBehaviorSubject; propertyChangedEventEmitter: Observable; constructor(); registerDependecy(componentDependecy: ERegisterDependecy): void; registerComponent(componentRegInfo: TComponentRegistrationInfo): void; unRegisterComponent(componentToRemove: ComponentShell): void; /** * Register edilmiş componentleri form bazında getirir. */ getRegistedComponents(formName: string): Array | undefined; findComponentByName(formName: string, componentName: string): ComponentShell | undefined; isPropertyDependent(dependcyQuery: EIsDependent): boolean; propertyChanged(formName: string, componentName: string, propertyName: string): void; reset(): void; }