import { FrontendDescription } from '../../../types'; import { SimpleTopicsAPI } from '../index'; /** * Manages the communication with a publish subscribe mechanism where topics can be defined at dev-time in services * * Sequence Diagram: see {@link topics.md} */ declare type PreviousContext = { topics: SimpleTopicsAPI; }; declare type EnhancedContext = { topics: SimpleTopicsAPI & Record; }; /** * Creates a nested Object from a dot-separated-string by interpreting every substring as a level of the object * @param str - string to convert, e.g. 'level_0.level_1.level_2' * @param tail - content of the most deepest level, e.g. 'i am deepest' * @returns nested Object, e.g. { level_0: { level_1: { level_2: 'i am deepest' }}} */ export declare function stringToObject(str: string, tail?: {}): object; /** * Searches for arrays with a specific name at any position in an object and returns their entries as a single array * The entries are prepended by their object paths * @param obj - Object to be browsed * @param arrayName - name of the Array of interest * @param path - path variable to prepend * @returns combined Array of entries */ export declare function extractEntriesFromObject(obj: Record, arrayName: string, path?: Array): Array; /** * Creates a Topics Object, which uses the Contexts topicsApi, to extend the Context with * @param topicsArray - array of topics * @param context - Context * @returns Topics Object */ export declare function arrayToTopicsObject(topicsArray: Array, simpleTopicsApi: SimpleTopicsAPI): object; declare const _default: import("../../../types").Plugin; export default _default;