/** * Copyright 2023-present DreamNum Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import type { DocumentDataModel, IDisposable, ITextRangeParam, Nullable } from '@univerjs/core'; import type { IRenderContext, IRenderModule } from '@univerjs/engine-render'; import { Disposable, IContextService, IPermissionService, IUniverInstanceService } from '@univerjs/core'; import { DocSelectionManagerService } from '@univerjs/docs'; import { IContextMenuService } from '@univerjs/ui'; import { IDocEmbedRuntimeFocusCoordinator } from './doc-embed-integration.service'; import { DocLayoutInteractionService } from './doc-layout-interaction.service'; import { DocCanvasPopManagerService } from './doc-popup-manager.service'; import { DocSelectionRenderService } from './selection/doc-selection-render.service'; export declare class DocFloatMenuService extends Disposable implements IRenderModule { private _context; private readonly _docSelectionManagerService; protected readonly _docCanvasPopManagerService: DocCanvasPopManagerService; private readonly _univerInstanceService; private readonly _docSelectionRenderService; private readonly _contextService; protected readonly _contextMenuService: IContextMenuService; private readonly _permissionService; private readonly _docLayoutInteractionService; private readonly _embedRuntimeFocusCoordinator?; protected _floatMenu: Nullable<{ disposable: IDisposable; start: number; end: number; segmentId: string; }>; private _suppressed; private _embedSuppressed; private _invalidatedSelection; constructor(_context: IRenderContext, _docSelectionManagerService: DocSelectionManagerService, _docCanvasPopManagerService: DocCanvasPopManagerService, _univerInstanceService: IUniverInstanceService, _docSelectionRenderService: DocSelectionRenderService, _contextService: IContextService, _contextMenuService: IContextMenuService, _permissionService: IPermissionService, _docLayoutInteractionService: DocLayoutInteractionService, _embedRuntimeFocusCoordinator?: IDocEmbedRuntimeFocusCoordinator | undefined); get floatMenu(): Nullable<{ disposable: IDisposable; start: number; end: number; segmentId: string; }>; hideFloatMenu(): void; setSuppressed(suppressed: boolean): void; private _initSelectionChange; private _initPermissionLifecycle; private _canEditDocument; private _initEmbedRuntimeLifecycle; private _getSelectionKey; private _hideFloatMenu; private _showFloatMenu; protected _openSelectionMenu(unitId: string, range: ITextRangeParam): IDisposable | undefined; }