import * as rx from 'rxjs'; export interface IConfigurationSource { get(name: string): any; } export interface ILocalConfigurationSource extends IConfigurationSource { readProperties(timeout?: number): Promise; } export interface IRemoteConfigurationSource extends IConfigurationSource { pollProperties(timeout?: number): Promise; } export interface ConfigurationItem { key: string; value: any; lastUpdate?: string; encrypted?: boolean; deleted?: boolean; } export declare class DataSource { values: IterableIterator; constructor(values?: IterableIterator); } export interface IDynamicProperty { name: string; value: T; propertyChanged: rx.Observable>; set(val: T): void; }