import type { TelemetryConfig } from '@api-client/core/config/index.js';
declare const _default: Readonly<{
    Session: Readonly<{
        /**
         * Sets a config property that is held in the storage only for the time of the current session.
         *
         * @param key The key under to store the value.
         * @param value The value to store. If this is not a primitive it will be serialized with `JSON.stringify()`.
         */
        set: (key: string, value: unknown, target?: EventTarget) => Promise<void>;
        /**
         * Reads a previously stored session value.
         *
         * @param key The key under which the property was stored.
         */
        get: (key: string, target?: EventTarget) => Promise<unknown | undefined>;
        /**
         * Deletes previously stored session value.
         *
         * @param key The key under which the property was stored.
         */
        delete: (key: string, target?: EventTarget) => Promise<void>;
    }>;
    Local: Readonly<{
        /**
         * Sets a config property that is permanently stored.
         * This is not the same as application configuration. This can be used to store specific configuration
         * property for a single view.
         *
         * @param key The key under to store the value.
         * @param value The value to store. If this is not a primitive it will be serialized with `JSON.stringify()`.
         */
        set: (key: string, value: unknown, target?: EventTarget) => Promise<void>;
        /**
         * Reads a previously stored local value.
         *
         * @param key The key under which the property was stored.
         * @param globalKey If known, the key of the configuration property in the application
         * global configuration. When set and the value in the local storage is not set, then
         * the config store reads the value from the application configuration.
         */
        get: (key: string, globalKey?: string, target?: EventTarget) => Promise<unknown | undefined>;
        /**
         * Deletes previously stored local value.
         *
         * @param key The key under which the property was stored.
         */
        delete: (key: string, target?: EventTarget) => Promise<void>;
    }>;
    Telemetry: Readonly<{
        /**
         * Sets the configuration for telemetry.
         *
         * @param config The configuration to set.
         * @param target Optional events target.
         */
        set: (config: TelemetryConfig, target?: EventTarget) => Promise<void>;
        /**
         * Reads the set telemetry configuration. If the configuration is missing a default value is returned.
         *
         * @param target Optional events target
         */
        read: (target?: EventTarget) => Promise<TelemetryConfig>;
        State: Readonly<{
            /**
             * Dispatched to inform the application that the new telemetry state has been set.
             *
             * @param config The set configuration.
             * @param target Optional events target.
             */
            set: (config: TelemetryConfig, target?: EventTarget) => void;
        }>;
    }>;
}>;
export default _default;
//# sourceMappingURL=ConfigEvents.d.ts.map