import { TimelineCommandResult, Track } from "@techsquidtv/canvas-timeline-core"; //#region src/hooks/tracks/useTimelineTrackCommands.d.ts /** Stable track commands; every operation validates current engine state. */ interface UseTimelineTrackCommandsResult { /** Selects a track or clears track selection. */ selectTrack: (trackId: string | null) => TimelineCommandResult; /** Adds a track with owned, validated clip data. */ addTrack: (track: Track) => TimelineCommandResult; /** Removes a track. */ removeTrack: (trackId: string) => TimelineCommandResult; /** Renames a track, or clears its app-defined name. */ renameTrack: (trackId: string, name: string | undefined) => TimelineCommandResult; /** Moves a track to its final zero-based row index. */ moveTrack: (trackId: string, toIndex: number) => TimelineCommandResult; /** Sets row collapse while preserving expanded height and media visibility. */ setCollapsed: (trackId: string, collapsed: boolean) => TimelineCommandResult; /** Toggles row collapse using the current track state. */ toggleCollapse: (trackId: string) => TimelineCommandResult; /** Toggles track mute. */ toggleMute: (trackId: string) => TimelineCommandResult; /** Sets track mute explicitly. */ setMuted: (trackId: string, muted: boolean) => TimelineCommandResult; /** Toggles track output visibility. */ toggleVisibility: (trackId: string) => TimelineCommandResult; /** Sets track output visibility explicitly. */ setVisible: (trackId: string, visible: boolean) => TimelineCommandResult; /** Toggles the edit lock. */ toggleLock: (trackId: string) => TimelineCommandResult; /** Sets the edit lock explicitly. */ setLocked: (trackId: string, locked: boolean) => TimelineCommandResult; /** Sets expanded row height. */ setTrackHeight: (trackId: string, height: number) => TimelineCommandResult; /** Toggles edit targeting. */ toggleTrackTarget: (trackId: string) => TimelineCommandResult; /** Sets edit targeting explicitly. */ setTrackTarget: (trackId: string, targeted: boolean) => TimelineCommandResult; /** Sets or clears a track's group. */ setTrackGroup: (trackId: string, groupId: string | undefined) => TimelineCommandResult; } /** * Provides stable track commands without subscribing to track or geometry updates. * Compose with `useTimelineTracks` for collection state or `useTimelineTrack` * for row state. All commands validate current engine state at invocation. * @returns Track selection, organization, and state commands. * @example * ```tsx * const { moveTrack } = useTimelineTrackCommands(); * return ; * ``` */ declare function useTimelineTrackCommands(): UseTimelineTrackCommandsResult; //#endregion export { UseTimelineTrackCommandsResult, useTimelineTrackCommands }; //# sourceMappingURL=useTimelineTrackCommands.d.mts.map