import { Type } from '@angular/core';
import { Maybe } from '@dereekb/util';
import { DbxWidgetType } from './widget';
import * as i0 from "@angular/core";
export interface DbxWidgetEntry {
    /**
     * Widget type to respond to.
     */
    readonly type: DbxWidgetType;
    /**
     * Widget component class to use.
     */
    readonly componentClass: Type<unknown>;
}
/**
 * Service used to register widgets.
 */
export declare class DbxWidgetService {
    private readonly _entries;
    /**
     * Used to register an entry. If an entry with the same type is already registered, this will override it by default.
     *
     * @param entry
     * @param override
     */
    register(entry: DbxWidgetEntry, override?: boolean): boolean;
    getWidgetIdentifiers(): DbxWidgetType[];
    getWidgetEntry(type: DbxWidgetType): Maybe<DbxWidgetEntry>;
    getWidgetEntries(types: Iterable<DbxWidgetType>): DbxWidgetEntry[];
    static ɵfac: i0.ɵɵFactoryDeclaration<DbxWidgetService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<DbxWidgetService>;
}
