import { Token } from './index'; import { ConverterFlagsToken } from './converterFlags'; import { ConverterRuleToken } from './converterRule'; import type { Config } from '../base'; /** * language conversion * * 转换 * @classdesc `{childNodes: [ConverterFlagsToken, ...ConverterRuleToken[]]}` */ export declare abstract class ConverterToken extends Token { readonly childNodes: readonly [ConverterFlagsToken, ConverterRuleToken, ...ConverterRuleToken[]]; abstract get firstChild(): ConverterFlagsToken; abstract get lastChild(): ConverterFlagsToken | ConverterRuleToken; abstract get children(): [ConverterFlagsToken, ConverterRuleToken, ...ConverterRuleToken[]]; abstract get firstElementChild(): ConverterFlagsToken; abstract get lastElementChild(): ConverterFlagsToken | ConverterRuleToken; get type(): 'converter'; /** whether to prevent language conversion / 是否不转换 */ get noConvert(): boolean; /** all language conversion flags / 所有转换类型标记 */ get flags(): Set; set flags(value: Set); /** * @param flags 转换类型标记 * @param rules 转换规则 */ constructor(flags: readonly string[], rules: readonly [string, ...string[]], config: Config, accum?: Token[]); cloneNode(): this; /** * Get all language conversion flags * * 获取所有转换类型标记 */ getAllFlags(): Set; /** * Get effective language conversion flags * * 获取有效的转换类型标记 */ getEffectiveFlags(): Set; /** * Get unknown language conversion flags * * 获取未知的转换类型标记 */ getUnknownFlags(): Set; /** * Get language coversion flags that specify a language variant * * 获取指定语言变体的转换标记 */ getVariantFlags(): Set; /** * Check if a language conversion flag is present * * 是否具有某转换类型标记 * @param flag language conversion flag / 转换类型标记 */ hasFlag(flag: string): boolean; /** * Check if an effective language conversion flag is present * * 是否具有某有效的转换类型标记 * @param flag language conversion flag / 转换类型标记 */ hasEffectiveFlag(flag: string): boolean; /** * Remove a language conversion flag * * 移除某转换类型标记 * @param flag language conversion flag / 转换类型标记 */ removeFlag(flag: string): void; /** * Set a language conversion flag * * 设置转换类型标记 * @param flag language conversion flag / 转换类型标记 */ setFlag(flag: string): void; /** * Toggle a language conversion flag * * 开关转换类型标记 * @param flag language conversion flag / 转换类型标记 */ toggleFlag(flag: string): void; }