import { GoalMatcher, RuleMatchResult } from "../core/interface";
export declare abstract class RuleBase<A extends any[]> {
    protected abstract kindTag: string;
    protected goalMatcher: GoalMatcher<A>;
    isUser: boolean;
    ignoreStringMatch: boolean;
    constructor(mf: GoalMatcher<A>);
    matchString(id: string): null | RuleMatchResult<A>;
    matchGoalID(id: string, args: string[]): null | RuleMatchResult<A>;
}
