import { Type } from '@angular/core';
import { ArrayOrValue, Maybe } from '@dereekb/util';
import { DbxHelpContextString } from './help';
import { DbxHelpWidgetServiceEntry } from './help.widget';
import { DbxInjectionComponentConfig } from '@dereekb/dbx-core';
import * as i0 from "@angular/core";
export declare abstract class DbxHelpWidgetServiceConfig {
    abstract readonly entries?: Maybe<DbxHelpWidgetServiceEntry[]>;
    /**
     * Default icon to use for unknown help topics.
     */
    abstract readonly defaultIcon?: Maybe<string>;
    /**
     * Default/Unknown help topic component class.
     */
    abstract readonly defaultWidgetComponentClass?: Maybe<Type<unknown>>;
    /**
     * Optional header component class to use for the list view.
     */
    abstract readonly popoverHeaderComponentConfig?: Maybe<DbxInjectionComponentConfig>;
}
/**
 * Service used to register help widgets.
 *
 * Similar to DbxErrorWidgetService, this maintains a registry of help widgets
 * that can be displayed for specific help context strings.
 */
export declare class DbxHelpWidgetService {
    private readonly _entries;
    private _defaultWidgetComponentClass;
    private _defaultIcon?;
    private _popoverHeaderComponentConfig;
    constructor(initialConfig?: DbxHelpWidgetServiceConfig);
    getDefaultWidgetComponentClass(): Maybe<Type<unknown>>;
    setDefaultWidgetComponentClass(componentClass: Maybe<Type<unknown>>): void;
    getDefaultIcon(): Maybe<string>;
    setDefaultIcon(icon: Maybe<string>): void;
    getPopoverHeaderComponentConfig(): Maybe<DbxInjectionComponentConfig>;
    setPopoverHeaderComponentConfig(componentConfig: Maybe<DbxInjectionComponentConfig>): void;
    /**
     * Used to register one or more entries.
     *
     * If an entry with the same identity is already registered, this will override it by default.
     *
     * @param entries The entries to register
     * @param override Whether to override existing entries (default: true)
     */
    register(entries: ArrayOrValue<DbxHelpWidgetServiceEntry>, override?: boolean): boolean;
    getAllRegisteredHelpContextStrings(): DbxHelpContextString[];
    getHelpWidgetEntry(helpContextString: DbxHelpContextString): Maybe<DbxHelpWidgetServiceEntry>;
    getHelpWidgetEntriesForHelpContextStrings(helpContextStrings: DbxHelpContextString[]): DbxHelpWidgetServiceEntry[];
    hasHelpWidgetEntry(context: DbxHelpContextString): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<DbxHelpWidgetService, [{ optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<DbxHelpWidgetService>;
}
