export type KbxFieldState = 'default' | 'changed' | 'warning' | 'ai-suggested'

export type KbxAsyncState = 'idle' | 'ready' | 'loading' | 'empty' | 'error'

export interface KbxAsyncStateDefinition {
  state: KbxAsyncState
  title?: string
  detail?: string
  actionLabel?: string
}



export interface KbxSummaryItem {
  key: string
  label: string
  value: string | number
  emphasis?: boolean
}

export interface KbxQuickFilterItem {
  key: string
  label: string
  count: number
  active?: boolean
  tone?: 'default' | 'warning' | 'danger'
}

export type KbxShortcutScope = 'application' | 'page' | 'grid' | 'dialog' | 'editor'

export interface KbxShortcutDefinition {
  key: string
  scope: KbxShortcutScope
  priority?: number
  enabled?: () => boolean
  execute(): void | Promise<void>
}
