import { Dispatcher, EventBus } from '../bus';
import { PluginType } from '../plugins';
import { Toolbar, ToolbarOptions, ToolbarItemType } from '../toolbar';
import { ViewerType, ViewerOptions } from '../viewer';
export type PdfonOptions = {
    container: string | HTMLDivElement;
    toolbarOptions?: ToolbarOptions;
    viewerOptions?: ViewerOptions;
};
export declare class Pdfon extends Dispatcher {
    readonly eventBus: EventBus;
    protected plugins: PluginType[];
    protected toolbarItems: Map<string, ToolbarItemType>;
    constructor(eventBus?: EventBus);
    addPlugin(plugin: PluginType): void;
    removePlugin(pluginToRemove: PluginType | string): void;
    protected resolvePlugins(): import('../plugins').Plugin[];
    protected initializePlugins(toolbar: Toolbar, viewer: ViewerType): Promise<import('../plugins').Plugin[]>;
    registerToolbarItem(name: string, item: ToolbarItemType): void;
    unregisterToolbarItem(name: string): void;
    protected initializeToolbar(toolbar: Toolbar): Promise<void>;
    render(options?: Partial<PdfonOptions>): Promise<ViewerType>;
}
