export type OverlayAction = { id: string; label: string; meta?: Record<string, unknown>; timeoutMs?: number }
export type ActionAck = { id: string; status: 'confirmed' | 'tentative' | 'failed'; reason?: string }

export interface IOverlaySyncPort {
  startAction(action: OverlayAction): Promise<ActionAck>
  cancelAction(actionId: string): Promise<void>
}