import { AbstractTranslator } from './abstract-translator';
import { TranslationOptions } from './translation-options';
import { subtitle } from '../dom/subtitle/subtitle';
import Subtitle = subtitle.Subtitle;
import SubtitleItem = subtitle.SubtitleItem;
export declare class SubtitleTranslator extends AbstractTranslator<object> {
    parse(text: string): Subtitle;
    serialize(doc: Subtitle): string;
    translateDoc(doc: Subtitle, options: TranslationOptions): subtitle.Subtitle;
    translateWholeSentences(wholeSentences: WholeSentence[]): Promise<WholeSentence[]>;
}
interface WholeSentence {
    original: string;
    translation: string;
    startTime: number;
    endTime: number;
    items: SubtitleItem[];
}
export declare function mergeTimelineBySentence(items: SubtitleItem[]): WholeSentence[];
export declare function splitTimelineBySentence(wholeSentences: WholeSentence[], maxVisualLength?: number): SubtitleItem[];
export declare function splitSubtitles(content: string, maxVisualLength?: number): string;
export {};
