export interface Token { type: string; is_title?: boolean; text?: string; scene_number?: string; dual?: string; depth?: number; addTo(tokens: Token[]): Token[]; } export interface Block { tokens: Token[]; scanIndex: number; addTo(tokens: Token[]): Token[]; } export declare class TitlePageBlock implements Block { readonly tokens: Token[]; readonly scanIndex: number; constructor(source: string); addTo(tokens: Token[]): Token[]; static matchedBy(source: string): boolean; } export declare class TitlePageToken implements Token { readonly type: string; readonly is_title = true; readonly text: string; constructor(pair: string); addTo(tokens: Token[]): Token[]; } export declare class SceneHeadingToken implements Token { readonly type = "scene_heading"; readonly text: string; readonly scene_number: string; constructor(line: string); addTo(tokens: Token[]): Token[]; static matchedBy(line: string): boolean; } export declare class CenteredToken implements Token { readonly type = "centered"; readonly text: string; constructor(line: string); addTo(tokens: Token[]): Token[]; static matchedBy(line: string): boolean; } export declare class TransitionToken implements Token { readonly type = "transition"; readonly text: string; constructor(line: string); addTo(tokens: Token[]): Token[]; static matchedBy(line: string): boolean; } export declare class DialogueBlock implements Block { readonly tokens: Token[]; readonly dual: boolean; readonly scanIndex: number; constructor(line: string, dual: boolean); addTo(tokens: Token[]): Token[]; static matchedBy(line: string): boolean; } export declare class DialogueBeginToken implements Token { readonly type = "dialogue_begin"; readonly dual: 'left' | 'right' | undefined; constructor(dual?: 'left' | 'right'); addTo(tokens: Token[]): Token[]; } export declare class CharacterToken implements Token { readonly type = "character"; readonly text: string; constructor(text: string); addTo(tokens: Token[]): Token[]; } export declare class DialogueToken implements Token { readonly type = "dialogue"; readonly text: string; constructor(text: string); addTo(tokens: Token[]): Token[]; } export declare class DialogueEndToken implements Token { readonly type = "dialogue_end"; addTo(tokens: Token[]): Token[]; } export declare class ParentheticalToken implements Token { readonly type = "parenthetical"; readonly text: string; constructor(text: string); addTo(tokens: Token[]): Token[]; } export declare class DualDialogueBeginToken implements Token { readonly type = "dual_dialogue_begin"; addTo(tokens: Token[]): Token[]; } export declare class DualDialogueEndToken implements Token { readonly type = "dual_dialogue_end"; addTo(tokens: Token[]): Token[]; } export declare class LyricsToken implements Token { readonly type = "lyrics"; readonly text: string; constructor(line: string); addTo(tokens: Token[]): Token[]; static matchedBy(line: string): boolean; } export declare class SectionToken implements Token { readonly type = "section"; readonly text: string; readonly depth: number; constructor(line: string); addTo(tokens: Token[]): Token[]; static matchedBy(line: string): boolean; } export declare class SynopsisToken implements Token { readonly type = "synopsis"; readonly text: string; constructor(line: string); addTo(tokens: Token[]): Token[]; static matchedBy(line: string): boolean; } export declare class NoteToken implements Token { readonly type = "note"; readonly text: string; constructor(line: string); addTo(tokens: Token[]): Token[]; static matchedBy(line: string): boolean; } export declare class PageBreakToken implements Token { readonly type = "page_break"; addTo(tokens: Token[]): Token[]; static matchedBy(line: string): boolean; } export declare class SpacesToken implements Token { readonly type = "spaces"; addTo(tokens: Token[]): Token[]; static matchedBy(line: string): boolean; } export declare class ActionToken implements Token { readonly type = "action"; readonly text: string; constructor(line: string); addTo(tokens: Token[]): Token[]; }