import { default as Button } from 'primevue/button'; import { ExtensionBase, ExtensionEvents } from '../index'; export declare function useExtension(props: { extName: string; viewerName: string; }): { renderManager: import('../index').RenderManager; extMan: { readonly tag: "ExtensionsManager"; selectedModeExtName: string; selectedControllerExtName: string; currentCommandExtName: string; currentCommandName: string; compactMode: boolean; viewerName: string; addExtension: (extensionType: { new (viewerName: string, args: any | undefined): ExtensionBase; }, args?: any | undefined) => Promise; setCompactMode: (mode?: boolean) => void; requestHelpersUpdate: () => void; clear: () => void; getExtensionByName: (name: string) => ExtensionBase | undefined; getExtensions: () => ExtensionBase[]; getExtensionsWithToolbars: () => ExtensionBase[]; getExtensionsHelpers: () => import('./ExtensionBase').HelperAction[]; finishCurrentCommandExtension: () => void; setCurrentCommandExtension: (extensionName: string, commandName?: string) => void; currentCommandExtension: () => ExtensionBase | undefined; selectedModeExtension: () => import('./ModeExtensionBase').ModeExtensionBase; selectModeExtension: (name: string) => void; getModeExtensions: () => import('./ModeExtensionBase').ModeExtensionBase[]; selectedControllerExtension: () => import('./ControllerExtensionBase').ControllerExtensionBase; getControllerExtensions: () => import('./ControllerExtensionBase').ControllerExtensionBase[]; selectControllerExtension: (name: string) => void; addAutoEventListener: (eventType: ExtensionEvents, eventListener: EventListenerOrEventListenerObject) => void; dispose: () => void; readonly [Symbol.toStringTag]: string; addEventListener: (type: string, callback: EventListenerOrEventListenerObject | null, options?: AddEventListenerOptions | boolean) => void; dispatchEvent: (event: Event) => boolean; removeEventListener: (type: string, callback: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean) => void; }; currentCommandExtName: import('vue').Ref; theme: import('naive-ui').GlobalThemeOverrides; isNoData: import('vue').Ref; ext: { readonly viewerName: string; state: any; readonly type: string; hideToolbar: boolean; actions: { key: string; actions: ("divider" | { key: string; notSelectable?: boolean; desc: string; action: Function; iconName: string; iconRender?: Function; isActive?: () => boolean; isHidden?: () => boolean; })[]; selectedAction?: { key: string; notSelectable?: boolean; desc: string; action: Function; iconName: string; iconRender?: Function; isActive?: () => boolean; isHidden?: () => boolean; }; showDropdown?: boolean; isOnlyCompact?: boolean; isOnlyFull?: boolean; }[]; helpers: { key: string; desc: string; iconName: string; iconRender?: Function; isActive?: () => boolean; dialogRender: (container: HTMLElement) => ComponentUI; }[]; title: string; compactModeSettings: { show: boolean; forceCompactMode: boolean; forceFullMode: boolean; }; getName: () => string; dedicatedToolbarRender: (container: HTMLElement) => void; sharedToolbarRender: (container: HTMLElement) => void; uiRender: (container: HTMLElement) => void; selectGroupAction: (group: import('./ExtensionBase').ToolbarActionGroup, actionKey: string, forceAction?: boolean) => void; getRenderManager: () => import('../index').RenderManager; setRestoreStateHandler: (handler: (stateName: string, state: any) => Promise) => ExtensionBase; setSaveStateHandler: (handler: (stateName: string, state: any) => void) => ExtensionBase; saveState: () => Promise; restoreState: () => Promise; commandChanged: (oldCommandName: string, newCommandName: string) => void; added: () => void; deleted: () => void; readonly [Symbol.toStringTag]: string; addEventListener: (type: string, callback: EventListenerOrEventListenerObject | null, options?: AddEventListenerOptions | boolean) => void; dispatchEvent: (event: Event) => boolean; removeEventListener: (type: string, callback: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean) => void; }; data: { renderManager: import('../index').RenderManager; extMan: { readonly tag: "ExtensionsManager"; selectedModeExtName: string; selectedControllerExtName: string; currentCommandExtName: string; currentCommandName: string; compactMode: boolean; viewerName: string; addExtension: (extensionType: { new (viewerName: string, args: any | undefined): ExtensionBase; }, args?: any | undefined) => Promise; setCompactMode: (mode?: boolean) => void; requestHelpersUpdate: () => void; clear: () => void; getExtensionByName: (name: string) => ExtensionBase | undefined; getExtensions: () => ExtensionBase[]; getExtensionsWithToolbars: () => ExtensionBase[]; getExtensionsHelpers: () => import('./ExtensionBase').HelperAction[]; finishCurrentCommandExtension: () => void; setCurrentCommandExtension: (extensionName: string, commandName?: string) => void; currentCommandExtension: () => ExtensionBase | undefined; selectedModeExtension: () => import('./ModeExtensionBase').ModeExtensionBase; selectModeExtension: (name: string) => void; getModeExtensions: () => import('./ModeExtensionBase').ModeExtensionBase[]; selectedControllerExtension: () => import('./ControllerExtensionBase').ControllerExtensionBase; getControllerExtensions: () => import('./ControllerExtensionBase').ControllerExtensionBase[]; selectControllerExtension: (name: string) => void; addAutoEventListener: (eventType: ExtensionEvents, eventListener: EventListenerOrEventListenerObject) => void; dispose: () => void; readonly [Symbol.toStringTag]: string; addEventListener: (type: string, callback: EventListenerOrEventListenerObject | null, options?: AddEventListenerOptions | boolean) => void; dispatchEvent: (event: Event) => boolean; removeEventListener: (type: string, callback: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean) => void; }; currentCommandExtName: import('vue').Ref; theme: import('naive-ui').GlobalThemeOverrides; isNoData: import('vue').Ref; }; getKeyMap: any; }; export interface ComponentUI { update(): void; } export declare const extensionMixin: import('vue').DefineComponent, {}, { t: import('i18next').TFunction<["translation", ...string[]], undefined>; }, {}, { update(): void; }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly> & Readonly<{}>, {}, {}, { "p-button": typeof Button; NConfigProvider: import('vue').DefineComponent; readonly default: undefined; }; readonly clsPrefix: StringConstructor; readonly locale: import('vue').PropType; readonly dateLocale: import('vue').PropType; readonly namespace: StringConstructor; readonly rtl: import('vue').PropType; readonly tag: { readonly type: StringConstructor; readonly default: "div"; }; readonly hljs: import('vue').PropType; readonly katex: import('vue').PropType; readonly theme: import('vue').PropType; readonly themeOverrides: import('vue').PropType; readonly componentOptions: import('vue').PropType; readonly icons: import('vue').PropType; readonly breakpoints: import('vue').PropType; readonly preflightStyleDisabled: BooleanConstructor; readonly styleMountTarget: import('vue').PropType; readonly inlineThemeDisabled: { readonly type: BooleanConstructor; readonly default: undefined; }; readonly as: { readonly type: import('vue').PropType; readonly validator: () => boolean; readonly default: undefined; }; }>, { mergedClsPrefix: import('vue').ComputedRef; mergedBordered: import('vue').ComputedRef; mergedNamespace: import('vue').ComputedRef; mergedTheme: import('vue').ComputedRef; mergedThemeOverrides: import('vue').ComputedRef; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly; readonly default: undefined; }; readonly clsPrefix: StringConstructor; readonly locale: import('vue').PropType; readonly dateLocale: import('vue').PropType; readonly namespace: StringConstructor; readonly rtl: import('vue').PropType; readonly tag: { readonly type: StringConstructor; readonly default: "div"; }; readonly hljs: import('vue').PropType; readonly katex: import('vue').PropType; readonly theme: import('vue').PropType; readonly themeOverrides: import('vue').PropType; readonly componentOptions: import('vue').PropType; readonly icons: import('vue').PropType; readonly breakpoints: import('vue').PropType; readonly preflightStyleDisabled: BooleanConstructor; readonly styleMountTarget: import('vue').PropType; readonly inlineThemeDisabled: { readonly type: BooleanConstructor; readonly default: undefined; }; readonly as: { readonly type: import('vue').PropType; readonly validator: () => boolean; readonly default: undefined; }; }>> & Readonly<{}>, { readonly bordered: boolean | undefined; readonly inlineThemeDisabled: boolean; readonly tag: string; readonly abstract: boolean; readonly preflightStyleDisabled: boolean; readonly as: string | undefined; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>; }, { tooltip: import('vue').ObjectDirective; }, string, import('vue').ComponentProvideOptions, true, {}, any>;