import { Node } from '.';
export declare type Pusher = (node: Node) => void;
export interface ParseState {
    expect: 'header' | 'id' | 'timestamp' | 'text' | 'vtt_comment';
    row: number;
    hasContentStarted: boolean;
    isWebVTT: boolean;
    node: Partial<Node>;
    buffer: string[];
}
export declare class Parser {
    private push;
    private state;
    constructor({ push }: {
        push: Pusher;
    });
    private isIndex;
    private isTimestamp;
    private isVttComment;
    private getError;
    parseLine(line: string): void;
    flush(): void;
    private parseHeader;
    private parseId;
    private parseVttComment;
    private parseTimestamp;
    private parseText;
    private pushNode;
}
