export type CreateMode = 'generic' | 'hidden' | 'action'; export interface ListActionRef { key: string; placement?: string; /** El kernel sirve snake_case. CamelCase se acepta por si el host ya lo normalizó. */ replaces_create?: boolean; replacesCreate?: boolean; } export interface ListPrimaryActionInput { /** `metadata.enableCRUDActions`. Sin él no hay Crear genérico. */ enableCRUD?: boolean; /** `metadata.canCreate`. `false` oculta el genérico; `undefined` no cambia nada. */ canCreate?: boolean; hideCreate?: boolean; createMode?: CreateMode; /** Si apunta a una acción de toolbar, esa es la primaria y oculta el genérico. */ primaryActionKey?: string; actions?: ListActionRef[]; } export interface ListPrimaryActionResult { showGenericCreate: boolean; primaryAction?: ListActionRef; /** Acciones de toolbar que no son la primaria (siguen visibles, en secundario). */ secondaryActions: ListActionRef[]; /** Más de una acción reclama ser la primaria. Solo una se usa. */ conflict: boolean; } /** `placement: create`, o el flag declarativo para una acción que hoy es `table`. */ export declare function actionReplacesCreate(action: ListActionRef): boolean; export declare function resolveListPrimaryAction(input: ListPrimaryActionInput): ListPrimaryActionResult; //# sourceMappingURL=list-primary-action.d.ts.map