import CoreStorage from '../../core/storage/CoreStorage';
/**
 * Manages registered properties (dimensions and values) that are sent with all events
 */
export default class RegisteredPropertiesStore {
    private properties;
    private coreStorage;
    constructor(coreStorage: CoreStorage);
    /**
     * Load registered properties from storage
     */
    private loadFromStorage;
    /**
     * Register properties to be sent with all events
     * @param dimensions - Object of key:value dimensions
     * @param values - Object of key:value values
     */
    register(dimensions?: object, values?: object): void;
    /**
     * Register properties only if not already registered
     * @param dimensions - Object of key:value dimensions
     * @param values - Object of key:value values
     */
    registerOnce(dimensions: object, values: object): void;
    /**
     * Unregister all properties
     */
    unregister(): void;
    /**
     * Get current registered properties
     */
    get(): {
        dimensions: object;
        values: object;
    } | null;
    /**
     * Refresh properties from storage (useful after external changes)
     */
    refresh(): void;
}
