import { ElementRef } from '@angular/core';
import { ArrayOrValue, Maybe } from '@dereekb/util';
import { AbstractPopoverDirective } from '../../interaction/popover/abstract.popover.directive';
import { DbxPopoverKey } from '../../interaction/popover/popover';
import { DbxPopoverService } from '../../interaction/popover/popover.service';
import { DbxHelpContextString } from './help';
import { NgPopoverRef } from 'ng-overlay-container';
import { ObservableOrValue } from '@dereekb/rxjs';
import { DbxInjectionComponentConfig } from '@dereekb/dbx-core';
import * as i0 from "@angular/core";
export declare const DEFAULT_DBX_HELP_VIEW_POPOVER_KEY = "help";
export interface DbxHelpViewPopoverConfig {
    /**
     * Custom icon
     *
     * Defaults to "help"
     */
    readonly icon?: string;
    /**
     * Custom header text
     *
     * Defaults to "Help"
     */
    readonly header?: string;
    /**
     * Custom empty text when no help contexts are available.
     */
    readonly emptyText?: string;
    /**
     * Origin element to attach the popover to.
     */
    readonly origin: ElementRef;
    /**
     * Specific contexts to display. If not provided, shows all active contexts from the DbxHelpContextService.
     */
    readonly helpContextStrings?: Maybe<ObservableOrValue<ArrayOrValue<DbxHelpContextString>>>;
    /**
     * Overrides the default popover header config.
     *
     * If not provided, the default popover header config will be used from DbxHelpWidgetService.
     */
    readonly popoverHeaderConfig?: Maybe<DbxInjectionComponentConfig>;
}
export type DbxHelpViewPopoverConfigWithoutOrigin = Omit<DbxHelpViewPopoverConfig, 'origin'>;
/**
 * Popover component for displaying help contexts.
 */
export declare class DbxHelpViewPopoverComponent extends AbstractPopoverDirective<unknown, DbxHelpViewPopoverConfig> {
    private readonly _helpContextService;
    private readonly _helpWidgetService;
    readonly helpContextStrings$: string | string[] | import("rxjs").Observable<ArrayOrValue<string>>;
    static openPopover(popoverService: DbxPopoverService, config: DbxHelpViewPopoverConfig, popoverKey?: DbxPopoverKey): NgPopoverRef;
    get config(): DbxHelpViewPopoverConfig;
    readonly icon: string;
    readonly header: string;
    readonly emptyText: string;
    readonly popoverHeaderConfig: Maybe<DbxInjectionComponentConfig>;
    static ɵfac: i0.ɵɵFactoryDeclaration<DbxHelpViewPopoverComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DbxHelpViewPopoverComponent, "ng-component", never, {}, {}, never, never, true, never>;
}
