/** Senders that are not roles of the org and are never bound by the map. */ export declare const RUNTIME_SENDERS: readonly string[]; interface DefLike { sections?: unknown; roles: { id: string; type?: string; reports_to?: string | null; }[]; } /** The section a role belongs to (as lead or member), or undefined. */ export declare function sectionOf(def: Pick, role: string): string | undefined; /** The root role: the boss, else the role that reports to no one (the root is in no section and reads everything). */ export declare const rootRoleId: (def: Pick) => string | undefined; /** The refusal text, as the org_send tool result. */ export declare function crossSectionRefusalText(from: string, fromSection: string, to: string, toSection: string): string; /** Why a message must not go from `from` to `to`, or undefined when it may. */ export declare function crossSectionRefusal(def: DefLike, from: string, to: string): string | undefined; export {}; //# sourceMappingURL=routing.d.ts.map