export type ProbabilityFunction = (word: string, { type, pattern }: {
    type: string;
    pattern: string;
}) => number;
export declare function defaultRandom(): number;
export declare function getZeroProbabilityFunction(): ProbabilityFunction;
export declare function getExtremeProbabilityFunction(): ProbabilityFunction;
export declare function getNormalProbabilityFunction(): ProbabilityFunction;
export declare function getKindaProbabilityFunction(): ProbabilityFunction;
export declare function parseRules(ruleString: string): {
    stopWords: Set<string>;
    stopPatterns: Set<string>;
    exactSubs: Map<string, string[]>;
    patternSubs: Map<string, string[]>;
};
export type RuleSet = ReturnType<typeof parseRules>;
export declare function randomChoice<T>(array: T[], getRandom?: () => number): T;
export declare function rulesToFunction(rules: RuleSet, { getRandom, getProbability, }?: {
    getRandom?: () => number;
    getProbability?: (word: string, options: {
        type: string;
        pattern: string;
    }) => number;
}): (word: string) => string;
//# sourceMappingURL=rules.d.ts.map