/**
 * Timeline React — `useTimeline` hook (ADR 0034 wedge 3).
 *
 * Import from `trellis/timeline/react`:
 *
 *   const { state, actions } = useTimeline({ duration: 90 });
 *   useEffect(() => {
 *     const id = setInterval(() => actions.step(1 / 60), 16);
 *     return () => clearInterval(id);
 *   }, []);
 *
 * The core is created once per mount; state flows through
 * `useSyncExternalStore` (same bridge as `trellis/forms/react`).
 *
 * @module trellis/timeline/react
 */
import type { TimelineConfig, UseTimelineReturn } from '../core/index.js';
/** Accept either a config (fresh core) or an existing core (shared mount). */
export type TimelineInput = TimelineConfig | UseTimelineReturn;
/**
 * Bind a timeline core to React. Pass a config for a fresh core, or an
 * existing core to share one mount across adapters.
 */
export declare function useTimeline(input?: TimelineInput): UseTimelineReturn;
//# sourceMappingURL=index.d.ts.map