import { IMessageBusTopicSubscription } from "@omnia/fx-models"; export interface IVersionEnterpriseProperties { /** * Returns true if this key is inherited from another page and false if not inherited * */ inherited: (key: string) => boolean; /** * Returns the value of the key, or null if it does not exist. * */ getValue: (key: string) => T; /** * Get the value of the specified key if the value does not exists, it uses the supplied factory to create and set the value * For inherited values the factory value is returned but not set, as the value is inherited and can't be set * */ getOrSetInitialValue: (key: string, initialValueFactory: (inherited: boolean) => T) => T; /** * Changes the value of the key, only keys not inherited may be changed * Throws error trying to set inherited properties * */ setValue: (key: string, value: any) => void; /** * All keys * */ readonly keys: Array; /** * Subsctiption on property updated * */ readonly onPropertyUpdated: IMessageBusTopicSubscription<{ key: string; value: any; }>; }