export type TabAction = 'rename' | 'duplicate' | 'delete'; export interface TabActionDescriptor { type: TabAction; onAction?: (name: string) => void; onPrimaryAction?: (name: string, id: string) => Promise | void; } export interface TabProps { onAction?: () => void; id: string; isLocked?: boolean; content: string; actions?: TabActionDescriptor[]; viewNames?: string[]; }