// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { ActionGroupId } from "./ActionGroupId";
import type { ActionId } from "./ActionId";
import type { ActionScope } from "./ActionScope";
import type { RequiredContext } from "./RequiredContext";

/**
 * Metadata about an action for discovery.
 */
export type ActionMetadata = { 
/**
 * Unique identifier for this action.
 */
id: ActionId, 
/**
 * Display label for the action.
 */
label: string, 
/**
 * Optional description of what the action does.
 */
description: string | null, 
/**
 * Icon name to display.
 */
icon: string | null, 
/**
 * The scope this action applies to.
 */
scope: ActionScope, 
/**
 * Keyboard shortcut (e.g., "Cmd+Enter").
 */
keyboardShortcut: string | null, 
/**
 * Whether the action requires a selection/target.
 */
requiresSelection: boolean, 
/**
 * Optional condition expression for when action is enabled.
 */
enabledCondition: string | null, 
/**
 * Optional group this action belongs to.
 */
groupId: ActionGroupId | null, 
/**
 * Sort order within a group (lower = earlier).
 */
order: number, 
/**
 * Context requirements for this action.
 */
requiredContext: RequiredContext, };
