import { BlockLexer } from './BlockLexer';
import { InlineLexer } from './InlineLexer';
import { BlockRuleOptions, InlineRuleOptions, LexerReturns, Links, NewRenderer, Options, Token } from './Interfaces';
import { Parser } from './Parser';
import { Renderer } from './Renderer';
export default class Smarkdown {
    static BlockLexer: typeof BlockLexer;
    static InlineLexer: typeof InlineLexer;
    static options: Options;
    static Parser: typeof Parser;
    static Renderer: typeof Renderer;
    static getOptions(options: Options): Options;
    static setOptions(options: Options): void;
    static resetOptions(): void;
    protected static resolveRule(regExp: RegExp): RegExp;
    static setRule(regExp: RegExp, renderer: NewRenderer, options?: InlineRuleOptions | BlockRuleOptions): void;
    static unsetRule(regExp: RegExp): void;
    static inlineParse(src: string, options: Options): string;
    static parse(src: string, options?: Options): string;
    protected static callBlockLexer(src?: string, options?: Options): LexerReturns;
    protected static callParser(tokens: Token[], links: Links, options?: Options): string;
    protected static callError(err: Error): string;
}
