/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

import { BaseActionViewItem } from '@sussudio/base/browser/ui/actionbar/actionViewItems.mjs';
import { IAction } from '@sussudio/base/common/actions.mjs';
import { Event } from '@sussudio/base/common/event.mjs';
import { ResolvedKeybinding } from '@sussudio/base/common/keybindings.mjs';
import { MenuItemAction } from '../common/actions.mjs';
import { IContextKeyService } from '../../contextkey/common/contextkey.mjs';
import { IKeybindingService } from '../../keybinding/common/keybinding.mjs';
import { INotificationService } from '../../notification/common/notification.mjs';
import { IThemeService } from '../../theme/common/themeService.mjs';
import { IContextMenuService } from '../../contextview/browser/contextView.mjs';
export interface IDropdownWithPrimaryActionViewItemOptions {
	getKeyBinding?: (action: IAction) => ResolvedKeybinding | undefined;
}
export declare class DropdownWithPrimaryActionViewItem extends BaseActionViewItem {
	private readonly _contextMenuProvider;
	private readonly _options;
	private _primaryAction;
	private _dropdown;
	private _container;
	private _dropdownContainer;
	get onDidChangeDropdownVisibility(): Event<boolean>;
	constructor(
		primaryAction: MenuItemAction,
		dropdownAction: IAction,
		dropdownMenuActions: IAction[],
		className: string,
		_contextMenuProvider: IContextMenuService,
		_options: IDropdownWithPrimaryActionViewItemOptions | undefined,
		_keybindingService: IKeybindingService,
		_notificationService: INotificationService,
		_contextKeyService: IContextKeyService,
		_themeService: IThemeService,
	);
	setActionContext(newContext: unknown): void;
	render(container: HTMLElement): void;
	focus(fromRight?: boolean): void;
	blur(): void;
	setFocusable(focusable: boolean): void;
	update(dropdownAction: IAction, dropdownMenuActions: IAction[], dropdownIcon?: string): void;
	dispose(): void;
}
