import { Plugin } from 'postcss'; declare enum Mode { combined = "combined", override = "override", diff = "diff" } declare enum Source { ltr = "ltr", rtl = "rtl" } type ModeValue = `${Mode}`; type SourceValue = `${Source}`; type strings = string | string[]; interface PluginStringMap { name?: string; search: strings; replace: strings; } interface DeclarationPluginProcessor { expr: RegExp; action: (prop: string, value: string, context: object) => object; } type DeclarationPlugin = { name: string; priority: number; processors: DeclarationPluginProcessor[]; }; type PrefixSelectorTransformer = (prefix: string, selector: string) => string | void; interface PluginOptions { mode?: ModeValue; ltrPrefix?: strings; rtlPrefix?: strings; bothPrefix?: strings; prefixSelectorTransformer?: PrefixSelectorTransformer; safeBothPrefix?: boolean; ignorePrefixedRules?: boolean; source?: SourceValue; processUrls?: boolean; processRuleNames?: boolean; processKeyFrames?: boolean; processEnv?: boolean; useCalc?: boolean; stringMap?: PluginStringMap[]; greedy?: boolean; aliases?: Record; processDeclarationPlugins?: DeclarationPlugin[]; runOnExit?: boolean; } declare function postcssRTLCSS(options?: PluginOptions): Plugin; export = postcssRTLCSS