import { Dispatcher, EventBus } from '../bus';
import { PluginManager, PluginType } from '../plugins';
import { ToolbarManager, ToolbarOptions, ToolbarItemType } from '../toolbar';
import { ViewerType, ViewerOptions } from '../viewer';
export type PdfonOptions = {
    container: string | HTMLDivElement;
    toolbarOptions?: ToolbarOptions;
    viewerOptions?: ViewerOptions;
    plugins?: Record<string, any>;
};
export declare class Pdfon extends Dispatcher {
    readonly eventBus: EventBus;
    readonly pluginManager: PluginManager;
    readonly toolbarManager: ToolbarManager;
    constructor(options?: Partial<{
        eventBus: EventBus;
        plugins: PluginType[];
        toolbarItems: Map<string, ToolbarItemType>;
    }>);
    addPlugin(...plugin: PluginType[]): void;
    removePlugin(pluginToRemove: PluginType | string): void;
    addToolbarItem(name: string, item: ToolbarItemType): void;
    removeToolbarItem(name: string): void;
    render(options?: Partial<PdfonOptions>): Promise<ViewerType>;
}
