import { Chapter, ChapterSegment, ChapterConfig, EventHandler } from './interfaces';
export interface ChapterManagerEvents {
    chapterchange: Chapter | null;
    segmententered: ChapterSegment;
    segmentexited: ChapterSegment;
    segmentskipped: ChapterSegment;
}
export declare class ChapterManager {
    private config;
    private chapters;
    private segments;
    private currentChapter;
    private activeSegments;
    private lastProcessedTime;
    private eventHandlers;
    constructor(config?: ChapterConfig);
    updateConfig(config: ChapterConfig): void;
    loadChapterData(url: string): Promise<void>;
    initialize(): Promise<void>;
    processTimeUpdate(currentTime: number): void;
    private processChapterChange;
    private processSegments;
    getCurrentChapter(currentTime: number): Chapter | null;
    getChapters(): Chapter[];
    getSegments(): ChapterSegment[];
    getSegmentsAtTime(currentTime: number): ChapterSegment[];
    skipSegment(segment: ChapterSegment): void;
    seekToChapter(chapterId: string): Chapter | null;
    getNextChapter(currentTime: number): Chapter | null;
    getPreviousChapter(currentTime: number): Chapter | null;
    on<K extends keyof ChapterManagerEvents>(event: K, handler: EventHandler): void;
    off<K extends keyof ChapterManagerEvents>(event: K, handler?: EventHandler): void;
    private emit;
    reset(): void;
    destroy(): void;
    getCurrentChapterInfo(): Chapter | null;
    isEnabled(): boolean;
}
//# sourceMappingURL=chapter-manager.d.ts.map