import { CategoryControlProvider, CategoryControlProviderLogLevel } from "../api/CategoryControlProvider";
import { CategoryProviderImpl } from "./CategoryProviderImpl";
/**
 * Implementation of the CategoryControlProvider.
 */
export declare class CategoryControlProviderImpl implements CategoryControlProvider {
    private readonly _provider;
    private readonly _messageChannel;
    /** Tracks the original log levels for all categories when they were created, updated only in reset() */
    private _originalLogLevels;
    constructor(provider: CategoryProviderImpl, messageChannel: (msg: string) => void);
    get name(): string;
    /**
     * Shows current settings.
     */
    showSettings(): void;
    help(): void;
    reset(): void;
    save(): void;
    restore(logRestoreFailures: boolean | undefined): void;
    update(level: CategoryControlProviderLogLevel, categoryId?: number | string, noRecurse?: boolean): void;
    private updateAll;
    private updateByPath;
    private updateByIndex;
    private restoreBySaveData;
    private createKey;
    private createCategoryInfoHierarchy;
    private static createCategorySaveData;
    private static loadCurrentGroupLogLevels;
    private static createSettingLineCategory;
    private static addCategoryInfoHierarchy;
}
//# sourceMappingURL=CategoryControlProviderImpl.d.ts.map