/** * 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 { IDisposable } from '@univerjs/core'; import type { IDocDrawing } from '@univerjs/docs-drawing'; import type { IValueOption } from '@univerjs/ui'; export interface IDocDrawingFloatingToolbarParams { unitId: string; subUnitId: string; drawing: IDocDrawing; } export interface IDocDrawingFloatingToolbarOption { icon?: string; label: IValueOption['label']; value: string; } interface IDocDrawingFloatingToolbarBaseItem { label: string; index: number; commandId: string; commandParams?: object; disable: boolean; hideOnClick?: boolean; icon?: string; } export interface IDocDrawingFloatingToolbarButtonItem extends IDocDrawingFloatingToolbarBaseItem { type?: 'button'; } export interface IDocDrawingFloatingToolbarSelectItem extends IDocDrawingFloatingToolbarBaseItem { type: 'select'; value: string; options: IDocDrawingFloatingToolbarOption[]; commandParamsFactory: (value: string) => object; } export type IDocDrawingFloatingToolbarItem = IDocDrawingFloatingToolbarButtonItem | IDocDrawingFloatingToolbarSelectItem; export interface IDocDrawingFloatingToolbarAdapter { getItems: (params: IDocDrawingFloatingToolbarParams) => readonly IDocDrawingFloatingToolbarItem[] | null | undefined; } export declare class DocDrawingFloatingToolbarAdapterService { private readonly _adapters; registerAdapter(adapter: IDocDrawingFloatingToolbarAdapter): IDisposable; getItems(params: IDocDrawingFloatingToolbarParams): IDocDrawingFloatingToolbarItem[] | null; } export {};