import { Ruleset, RulesetLoader } from "pico-framework"; export interface CachedRuleset { url: string; krl: string; hash: string; flushed: Date; rid: string; compiler: { version: string; warnings: any[]; }; ruleset: Ruleset; } export interface RulesetRegistryLoader { fetchKrl(url: string): Promise; compileAndLoad(url: string, krl: string, hash: string): Promise<{ ruleset: Ruleset; compiler: { version: string; warnings: any[]; }; }>; save(data: CachedRuleset): Promise; attemptLoad(url: string): Promise; } export declare class RulesetRegistry { private regLoader; onRulesetLoaded?: ((crs: CachedRuleset) => void) | undefined; private rulesetCache; load: (url: string) => Promise; flush: (url: string) => Promise; constructor(regLoader: RulesetRegistryLoader, onRulesetLoaded?: ((crs: CachedRuleset) => void) | undefined); loader: RulesetLoader; getCached(url: string): CachedRuleset | null; private setCachedRuleset; private loadBase; private flushBase; }