import { ButtonHTMLAttributes } from "react";
import { TimelineCommandResult } from "@techsquidtv/canvas-timeline-core";
//#region src/hooks/tracks/useTimelineTrackLockControl.d.ts
/** Props returned for a track lock button. */
type TimelineTrackLockControlButtonProps = ButtonHTMLAttributes;
/** Result returned by `useTimelineTrackLockControl`. */
interface UseTimelineTrackLockControlResult {
/** Requested track id. */
trackId: string;
/** Whether the requested track exists. */
exists: boolean;
/** Human-readable track label. */
label: string;
/** Whether the track is locked for editing. */
locked: boolean;
/** Sets this track's locked state. */
setLocked: (locked: boolean) => TimelineCommandResult;
/** Toggles this track's locked state. */
toggleLock: () => TimelineCommandResult;
/** Props for a semantic lock toggle button. */
buttonProps: TimelineTrackLockControlButtonProps;
}
/**
* Adapts one timeline track into a semantic lock toggle button.
*
* @param trackId - Track id to bind.
* @returns Current lock state, commands, and DOM-ready button props.
*/
declare function useTimelineTrackLockControl(trackId: string): UseTimelineTrackLockControlResult;
//#endregion
export { TimelineTrackLockControlButtonProps, UseTimelineTrackLockControlResult, useTimelineTrackLockControl };
//# sourceMappingURL=useTimelineTrackLockControl.d.mts.map