import type { MetaMenuItem } from '../menu-item.extension.js';
import type { ManifestElementAndApi, ManifestWithDynamicConditions } from '../../../../../../libs/extension-api/index.js';
import type { UmbAction } from '../../../../action/index.js';
import type { UmbControllerHostElement } from '../../../../../../libs/controller-api/index.js';
export interface UmbMenuItemActionApiArgs<MetaArgsType> {
    meta: MetaArgsType;
}
export interface UmbMenuItemActionApi<ArgsMetaType = never> extends UmbAction<UmbMenuItemActionApiArgs<ArgsMetaType>> {
}
export interface UmbMenuItemActionElement extends UmbControllerHostElement {
    manifest?: ManifestMenuItemActionKind;
}
export interface ManifestMenuItemActionKind extends ManifestElementAndApi<UmbMenuItemActionElement, UmbMenuItemActionApi<MetaMenuItemActionKind>>, ManifestWithDynamicConditions<UmbExtensionConditionConfig> {
    type: 'menuItem';
    kind: 'action';
    meta: MetaMenuItemActionKind;
}
export interface MetaMenuItemActionKind extends Exclude<MetaMenuItem, 'entityType'> {
}
declare global {
    interface UmbExtensionManifestMap {
        umbActionMenuItemKind: ManifestMenuItemActionKind;
    }
}
