import { StreamDeckHandlerBase } from '../abstracts/stream-deck-handler-base';
export declare class SettingsManager {
    private _handler;
    private _settings;
    private _globalSettings;
    private _autoSave;
    private _autoDebounce;
    private globalSettingsTimeoutId;
    private contextSettingsTimeoutIds;
    constructor(_handler: StreamDeckHandlerBase);
    disableAutoSave(): void;
    disableAutoDebounce(): void;
    getGlobalSettings<GlobalSettings>(): GlobalSettings | {};
    setGlobalSettings<GlobalSettings>(settings: GlobalSettings, ms?: number): void;
    setGlobalSettingsAttributes(attributes: {}, ms?: number): void;
    getContextSettings<Settings>(context: string): Settings | undefined;
    getAllContextSettings<Settings>(): Map<string, Settings>;
    setContextSettings(context: string, settings: {}, ms?: number): void;
    setContextSettingsAttributes(context: string, attributes: {}, ms?: number): void;
    saveGlobalSettings(ms: number): void;
    saveContextSettings(context: string | 'ALL', ms: number): void;
    cacheGlobalSettings(settings: {}): void;
    cacheContextSettings(context: string, settings: {}): void;
    private debounceGlobalSettingsCall;
    private debounceContextSettingsCall;
}
