import { VideoSegment, VideoChapters, ChapterConfig, SegmentType } from '../../chapters/types/ChapterTypes';
export interface UseChaptersOptions {
    videoElement?: HTMLVideoElement | null;
    chapters?: VideoChapters;
    config?: ChapterConfig;
    onSegmentEntered?: (segment: VideoSegment) => void;
    onSegmentSkipped?: (fromSegment: VideoSegment, toSegment?: VideoSegment) => void;
    onSkipButtonShown?: (segment: VideoSegment) => void;
    onSkipButtonHidden?: (segment: VideoSegment) => void;
}
export interface UseChaptersResult {
    currentSegment: VideoSegment | null;
    chapters: VideoChapters | null;
    isSkipButtonVisible: boolean;
    loadChapters: (chapters: VideoChapters) => Promise<void>;
    skipToSegment: (segmentId: string) => void;
    skipCurrentSegment: () => void;
    getSegmentsByType: (type: SegmentType) => VideoSegment[];
    hasSegmentType: (type: SegmentType) => boolean;
    getChapterMarkers: () => Array<{
        position: number;
        segment: VideoSegment;
        color: string;
    }>;
    formatTime: (seconds: number) => string;
    isInSegment: (segmentId: string) => boolean;
}
export declare function useChapters(options?: UseChaptersOptions): UseChaptersResult;
//# sourceMappingURL=useChapters.d.ts.map