import type { CompletionHandler } from '@crouton-kit/humanloop'; import type { RouteTable } from '../router.js'; /** A broker retains its sealed runtime generation across installs. Humanloop * freezes that generation's `_visual` argv into the request, while crtrd may * already run a newer sibling generation when the human opens the ticket. * Accept only a Node invocation of the same leaf from an immutable 64-hex * generation beneath the current handler's exact generations directory. The * command differs legitimately: CLI registrations use the system Node path, * while the daemon runs through crouter's stable copied-Node host. */ export declare function trustedCrouterHandler(candidate: CompletionHandler | undefined, current: CompletionHandler, leaf: '_visual' | '_consult'): boolean; export declare function trustedCrouterVisualHandler(candidate: CompletionHandler | undefined, current?: CompletionHandler): boolean; export declare const humanRoutes: RouteTable;