import { TimelineStateSnapshot } from "@techsquidtv/canvas-timeline-core";
//#region src/hooks/core/useTimelineSelector.d.ts
/**
* Selects a value from the engine's immutable, settled state snapshot.
*
* @remarks
* Primitive results use Object.is; arrays and plain objects compare their own
* enumerable fields shallowly. Supply isEqual for another selection policy.
* This hook excludes per-frame playback and edit-preview updates. Use
* {@link useTimelinePlayheadTime} for a live playback readout.
*
* @param selector - Pure projection of the readonly timeline snapshot.
* @param isEqual - Equality check used to preserve the last selected value.
* @template Value - Selected value, including primitive values.
* @returns The selected value, updated only when its equality check changes.
* @example
* ```tsx
* import { useTimelineSelector } from '@techsquidtv/canvas-timeline-react';
* export function TrackCount() {
* const count = useTimelineSelector(state => state.tracks.length);
* return ;
* }
* ```
*/
declare function useTimelineSelector(selector: (state: TimelineStateSnapshot) => Value, isEqual?: (previous: Value, next: Value) => boolean): Value;
//#endregion
export { useTimelineSelector };
//# sourceMappingURL=useTimelineSelector.d.mts.map