import { Event } from '@opensumi/ide-core-common'; import type { IToolbarButtonContribution, IToolbarDropdownButtonContribution, IToolbarSelectContribution } from '../../browser/sumi/types'; export interface IToolbarButtonActionHandle { onClick: Event; setState(state: string, title?: string): Promise; onStateChanged: Event<{ from: string; to: string; }>; showPopover(): Promise; hidePopover(): Promise; setContext(context: any): void; } export interface IToolbarSelectActionHandle { setState(state: string): Promise; setOptions(options: { iconPath?: string; iconMaskMode?: boolean; label?: string; value: T; }[]): void; onSelect: Event; onStateChanged: Event<{ from: string; to: string; }>; setSelect(value: T): Promise; getValue(): T; } export interface IToolbarDropdownButtonActionHandle { onSelect: Event; } export interface IMainThreadToolbar { $registerToolbarButtonAction(extensionId: string, extensionPath: string, contribution: IToolbarButtonContribution): Promise; $registerToolbarSelectAction(extensionId: string, extensionPath: string, contribution: IToolbarSelectContribution): Promise; $registerDropdownButtonAction(extensionId: string, extensionPath: string, contribution: IToolbarDropdownButtonContribution): Promise; } export interface IExtHostToolbar { registerToolbarAction(extensionId: string, extensionPath: string, contribution: IToolbarButtonContribution | IToolbarSelectContribution | IToolbarDropdownButtonContribution): Promise | IToolbarDropdownButtonActionHandle>; getToolbarButtonActionHandle(id: string, extensionId: string): Promise; getToolbarSelectActionHandle(id: string, extensionId: string): Promise>; } export declare enum TOOLBAR_ACTION_TYPE { BUTTON = "button", DROPDOWN_BUTTON = "dropdownButton", SELECT = "select" } export declare const BUTTON_SET_STATE_ID = "sumi-extension.toolbar.btn.setState"; export declare const BUTTON_STATE_CHANGE_ID = "sumi-extension.toolbar.btn.stateChange"; export declare const BUTTON_SET_CONTEXT_ID = "sumi-extension.toolbar.btn.setContext"; export declare const BUTTON_CONNECT_HANDLE_ID = "sumi-extension.toolbar.btn.connectHandle"; export declare const BUTTON_CLICK_ID = "sumi-extension.toolbar.btn.click"; export declare const SHOW_POPOVER_ID = "sumi-extension.toolbar.showPopover"; export declare const HIDE_POPOVER_ID = "sumi-extension.toolbar.hidePopover"; export declare const SELECT_SET_STATE_ID = "sumi-extension.toolbar.select.setState"; export declare const SELECT_SET_OPTIONS = "sumi-extension.toolbar.select.setOptions"; export declare const SELECT_SET_SELECT_ID = "sumi-extension.toolbar.select.setSelect"; export declare const SELECT_CONNECT_HANDLE_ID = "sumi-extension.toolbar.select.connectHandle"; export declare const SELECT_ON_SELECT_ID = "sumi-extension.toolbar.select.onSelect"; export declare const SELECT_STATE_CHANGE_ID = "sumi-extension.toolbar.select.stateChange"; export declare const DROPDOWN_BUTTON_ON_SELECT_ID = "sumi-extension.toolbar.dropdownButton.onSelect"; //# sourceMappingURL=toolbar.d.ts.map