/** * Hook register — the named 2-second opening patterns (scroll-stopping beats) * and the two emitters that resolve a pattern and place it on the clock. * PURE and deterministic: no I/O, no Date, no Math.random. Extracted verbatim * from `cinematography.ts` (roadmap Phase 3a), which re-exports every public * name, so importers are unchanged. */ /** * The named 2-second hook patterns: scroll-stopping opening beats. Order is * intentional and stable; callers may iterate {@link HOOK_PATTERN_IDS}. */ export declare const HOOK_PATTERN_IDS: readonly ["black-to-light", "silence-to-sound", "reverse-motion", "beat-drop", "match-cut-in", "whip-reveal", "speed-ramp", "first-person-rush", "impact-freeze", "title-burn-in", "slow-reveal", "snap-zoom", "scale-reveal", "particle-materialize", "impossible-angle", "kinetic-decompose", "smash-zoom", "rubber-hose-stretch", "color-pop-burst", "fourth-wall-wink", "weapon-clash-spark", "ground-slam-shockwave", "blade-unsheath-flash", "speed-line-burst", "power-up-aura", "sakura-gust", "cross-impact-flash", "hi-hat-flash-cuts", "synth-glitch", "harmonic-color-shift", "downbeat-reveal", "impossible-scale", "half-reveal", "wait-for-it", "ladder-reveal"]; export type HookPatternId = (typeof HOOK_PATTERN_IDS)[number]; /** * Resolve a named opening-hook pattern id to its directive description. * * Like {@link hookBeat}, an unknown id THROWS rather than falling back — hooks * must be explicit. Exported so CLI surfaces can prepend the directive without * re-deriving the table. */ export declare function resolveHookPattern(pattern: HookPatternId): string; /** * Render a named 2-second opening hook as a timecoded beat. * * Returns `"[00:00 - 00:0N] "` where `N` is `hookSeconds` * (zero-padded, assumed < 60). Unlike the cinema-mode resolvers, an unknown * pattern id THROWS rather than falling back — hooks must be explicit. */ export declare function hookBeat(pattern: HookPatternId, hookSeconds: number): string; //# sourceMappingURL=hook-register.d.ts.map