import ChainedMap from './ChainedMap.js'; import ChainedSet from './ChainedSet.js'; import Resolve from './Resolve.js'; declare class RuleBase extends ChainedMap { name: string; names: string[]; ruleType: string; ruleTypes: string[]; uses: ChainedMap; include: ChainedSet; exclude: ChainedSet; rules: ChainedMap; oneOfs: ChainedMap; resolve: Resolve; enforce: any; test: any; constructor(parent: any, name: string, ruleType?: string); use(name: string): any; rule(name: string): any; oneOf(name: string): any; pre(): this; post(): this; toConfig(): any; merge(obj: any, omit?: string[]): this; } declare const Rule: { new (...args: any[]): { [x: string]: any; __before?: string; __after?: string; before(name: string): /*elided*/ any; after(name: string): /*elided*/ any; merge(obj: any, omit?: string[]): /*elided*/ any; }; } & typeof RuleBase; export default Rule;