export type DirectiveSyntaxValue = 'disabled' | 'enabled' | 'preserve' | 'overwrite' | 'only';
type DirectiveSyntaxMdPluginValue = 'disabled' | 'enabled' | 'only';
export type DirectiveSyntaxOption = DirectiveSyntaxValue | DirectiveSyntaxOptionObj;
type DirectiveSyntaxOptionObj = {
    [K in keyof MarkdownEditor.DirectiveSyntaxAdditionalSupportedExtensions]?: DirectiveSyntaxValue;
};
declare global {
    namespace MarkdownEditor {
        /**
         * Add more keys for you additional supported extensions
         */
        interface DirectiveSyntaxAdditionalSupportedExtensions {
        }
    }
}
export declare class DirectiveSyntaxContext {
    #private;
    protected set option(value: DirectiveSyntaxOption | undefined);
    get option(): DirectiveSyntaxOption;
    constructor(option: DirectiveSyntaxOption | undefined);
    valueFor(key: keyof DirectiveSyntaxOptionObj): DirectiveSyntaxValue;
    mdPluginValueFor(key: keyof DirectiveSyntaxOptionObj): DirectiveSyntaxMdPluginValue;
    /** helper for wisywig serializer */
    shouldSerializeToDirective(key: keyof DirectiveSyntaxOptionObj, tokenMarkup: unknown): boolean;
    /** helper for markup-mode commands and actions */
    shouldInsertDirectiveMarkup(key: keyof DirectiveSyntaxOptionObj): boolean;
}
export {};
