import { Token } from './token'; export type InlineTypes = 'note' | 'line_break' | 'bold_italic_underline' | 'bold_underline' | 'italic_underline' | 'bold_italic' | 'bold' | 'italic' | 'underline' | 'escape'; export declare class Lexer { private static lastLineWasDualDialogue; private static scanIndex; /** * Replaces boneyard with an empty string. If a boneyard token exists * at the start of a line, it preserves token continuity by adding blank lines * for the lexer to parse. * @param match * @returns {string} empty string or blank lines */ static boneyardStripper(match: string): string; /** * Tokenizes the script. * @param {string} script * @returns {[Token, Token]} tuple of title page and script token arrays */ static tokenize(script: string): [Token[], Token[]]; /** * Tokenizes the title page. Tests for title page keywords then lexes going forward. * If no keywords are found and empty array is returned. * @param {string} source * @returns {Token} */ static tokenizeTitlePage(source: string): Token[]; /** * Tokenizes all Fountain tokens except Title Page. Splits the script based on * blank lines then lexes in reverse to account for dual dialogue tokens. * @param {string} source * @returns {Token} */ static tokenizeScript(source: string): Token[]; } export declare class InlineLexer { static inline: Record; static reconstruct(line: string, escapeSpaces?: boolean): string; }