import React from 'react'; import type { WidgetAccessPerson } from '../../access/types'; import type { DashboardCategoryOption } from './categories'; /** * 🔴 **RETIRADO EL 2026-09-14 (F3).** El Constructor ya no pregunta la vertical: la **determina la * categoría** que se eligió en *Apariencia*. * * Se conserva el tipo exportado porque **no está huérfano**: el diálogo de acceso lo sigue usando para * ofrecer «que lo vea todo ventas» como sujeto de un grant, que es un acto distinto —repartir algo que * ya existe— y sí se pregunta. Lo que desapareció es el selector de ESTE paso. * * @deprecated para el Widget Builder. Para el diálogo de acceso, ver `WidgetAccessTerm`. */ export interface DashboardRoleOption { /** Valor que se guarda en `roles_permitidos` y que el backend cruza. */ id: string; /** Texto que ve el administrador. */ label: string; } /** * Vacío A PROPÓSITO, y ya casi sin consumidores: desde F3 el Builder no lo usa. * * Traía `admin | ventas | compras | inventario`, el vocabulario de Siesa Comercial dentro de una * librería compartida, y eso hacía que un host que olvidara declarar el suyo **segmentara sus widgets * con los módulos de otro producto** — sin error, y con una interfaz que se veía perfectamente normal. */ export declare const DEFAULT_AVAILABLE_ROLES: DashboardRoleOption[]; /** Cómo se reparte un widget público, elegido al crearlo. */ export type RepartoInicial = 'module' | 'people'; interface Step5PermissionsProps { esPrivado: boolean; onUpdatePrivacy: (isPrivate: boolean) => void; /** * 🔴 **La vertical DERIVADA de la categoría.** `null` significa que el host no publicó la pareja * para esa categoría — y entonces publicar no se ofrece, porque no se sabe dónde. */ vertical: DashboardCategoryOption | null; reparto: RepartoInicial; onUpdateReparto: (r: RepartoInicial) => void; personas: WidgetAccessPerson[]; onUpdatePersonas: (p: WidgetAccessPerson[]) => void; /** * Buscador del host. **Es el mismo `searchPeople` del adaptador de acceso**, no uno nuevo: si el * host no lo declara, la opción «solo a estas personas» no se ofrece — teclear un id de usuario a * mano en un asistente de creación es la misma falla que el diálogo de acceso ya cerró. */ searchPeople?: (query: string) => Promise; /** * Si el host puede restringir y conceder (`savePolicy` + `grant`). Sin las dos, repartir al crear no * se ofrece: el widget se crearía público y el segundo paso no llegaría nunca. */ puedeRepartirAlCrear: boolean; } export declare const Step5Permissions: React.FC; export {}; //# sourceMappingURL=Step5Permissions.d.ts.map