@itwin/presentation-frontend
Version:
Frontend of iModel.js Presentation library
62 lines • 1.96 kB
TypeScript
/** @packageDocumentation
* @module Core
*/
import { BeEvent } from "@itwin/core-bentley";
import { RegisteredRuleset, Ruleset } from "@itwin/presentation-common";
/**
* Presentation ruleset registry.
* @public
*/
export interface RulesetManager {
/**
* An event invoked one a ruleset is modified using [[modify]] function.
*/
onRulesetModified: BeEvent<(curr: RegisteredRuleset, prev: Ruleset) => void>;
/**
* Get a ruleset with the specified id.
*/
get(id: string): Promise<RegisteredRuleset | undefined>;
/**
* Register the supplied ruleset
*/
add(ruleset: Ruleset): Promise<RegisteredRuleset>;
/**
* Modify the given pre-registered ruleset
*/
modify(ruleset: RegisteredRuleset, newRules: Omit<Ruleset, "id">): Promise<RegisteredRuleset>;
/**
* Unregister the supplied ruleset
*/
remove(ruleset: RegisteredRuleset | [string, string]): Promise<boolean>;
/**
* Remove all rulesets registered in this session.
*/
clear(): Promise<void>;
}
/** @internal */
export declare class RulesetManagerImpl implements RulesetManager {
private _clientRulesets;
onRulesetModified: BeEvent<(curr: RegisteredRuleset, prev: Ruleset) => void>;
static create(): RulesetManagerImpl;
/**
* Get a ruleset with the specified id.
*/
get(id: string): Promise<RegisteredRuleset | undefined>;
/**
* Register the supplied ruleset
*/
add(ruleset: Ruleset): Promise<RegisteredRuleset>;
/**
* Modifies the given pre-registered ruleset
*/
modify(ruleset: RegisteredRuleset, newRules: Omit<Ruleset, "id">): Promise<RegisteredRuleset>;
/**
* Unregister the supplied ruleset
*/
remove(ruleset: RegisteredRuleset | [string, string]): Promise<boolean>;
/**
* Remove all rulesets registered in this session.
*/
clear(): Promise<void>;
}
//# sourceMappingURL=RulesetManager.d.ts.map