import { Root } from 'mdast';
import { Locale } from 'typopo';
import { Plugin } from 'unified';

interface RemarkTypopoOptions {
    /**
     * The locale (language) to use for microtypographic corrections
     * (e.g., 'en-us', 'de-de', 'sk', 'cs', 'rue').
     * @see {@link https://github.com/surfinzap/typopo?tab=readme-ov-file#api | Typopo documentation} for supported locales.
     * @defaultValue 'en-us'
     */
    locale?: Locale;
    /**
     * @deprecated This option has no effect in `remark-typopo` and cannot be used.
     */
    removeLines?: never;
    /**
     * @deprecated This option has no effect in `remark-typopo` and cannot be used.
     */
    removeWhitespacesBeforeMarkdownList?: never;
    /**
     * @deprecated This option has no effect in `remark-typopo` and cannot be used.
     */
    keepMarkdownCodeBlocks?: never;
    /**
     * Allow Typopo inside code blocks (i.e. ```code```)
     * @defaultValue false
     */
    allowInCodeBlocks?: boolean;
    /**
     * Allow Typopo inside inline code (i.e. `code`)
     * @defaultValue false
     */
    allowInInlineCode?: boolean;
}
/**
 * A remark plugin to apply microtypography fixes using {@link https://github.com/surfinzap/typopo Typopo}.
 *
 * @param options
 *   Optional `remark-typopo`-specific options to allow Typopo in certain verbatim nodes.
 *
 * @see {@link https://github.com/eeshaan/remark-typopo} for the plugin’s source code and more information.
 * @see {@link https://typopo.org} for more information about Typopo.
 */
declare const remarkTypopo: Plugin<[RemarkTypopoOptions?], Root>;

export { type RemarkTypopoOptions, remarkTypopo as default };
