import { VElement, VTextNode, FormatValue, Formatter } from '@textbus/core';
import { Matcher, MatchRule } from './matcher';
import { FormatLoader } from '@textbus/platform-browser';
export declare class InlineTagFormatLoader<T extends FormatValue> extends Matcher<T, Formatter<T>> implements FormatLoader<T> {
    constructor(formatter: InlineElementFormatter, rule: MatchRule);
    read(): {
        formatter: Formatter<T>;
        value: T;
    };
}
export declare class InlineElementFormatter implements Formatter<boolean> {
    name: string;
    tagName: string;
    columned: boolean;
    priority: number;
    constructor(name: string, tagName: string, columned: boolean);
    render(children: Array<VElement | VTextNode>): VElement;
}
export declare const boldFormatter: InlineElementFormatter;
export declare const italicFormatter: InlineElementFormatter;
export declare const strikeThroughFormatter: InlineElementFormatter;
export declare const underlineFormatter: InlineElementFormatter;
export declare const subscriptFormatter: InlineElementFormatter;
export declare const superscriptFormatter: InlineElementFormatter;
export declare const codeFormatter: InlineElementFormatter;
export declare const boldFormatLoader: InlineTagFormatLoader<FormatValue>;
export declare const italicFormatLoader: InlineTagFormatLoader<FormatValue>;
export declare const strikeThroughFormatLoader: InlineTagFormatLoader<FormatValue>;
export declare const underlineFormatLoader: InlineTagFormatLoader<FormatValue>;
export declare const subscriptFormatLoader: InlineTagFormatLoader<FormatValue>;
export declare const superscriptFormatLoader: InlineTagFormatLoader<FormatValue>;
export declare const codeFormatLoader: InlineTagFormatLoader<FormatValue>;
