import { PrimariaBroker } from '../broker/primaria-broker';
export declare abstract class PrimariaGlobalStateManager {
    abstract setData<T>(key: string, value: T): void;
    abstract getData<T>(key: string): T | undefined;
    abstract clearData(): void;
}
declare class PrimariaGlobalStateManagerImpl implements PrimariaGlobalStateManager {
    broker: PrimariaBroker;
    private state;
    constructor(broker: PrimariaBroker);
    /**
     * Sets the value of a key in the state object and publishes an event with the event bus.
     *
     * @param {string} key - The key to set the value for.
     * @param {T} value - The value to set for the key.
     * @return {void} This function does not return anything.
     */
    setData<T>(key: string, value: T): void;
    /**
     * Retrieves the value associated with the specified key from the state object.
     *
     * @param {string} key - The key to retrieve the value for.
     * @return {T | undefined} The value associated with the specified key, or undefined if the key does not exist in the state object.
     */
    getData<T>(key: string): T | undefined;
    /**
     * Clears all data stored in the state object.
     *
     * @return {void} This function does not return anything.
     */
    clearData(): void;
}
export declare const createGlobalStateManager: (broker: PrimariaBroker) => PrimariaGlobalStateManagerImpl;
export {};
