/// <reference types="react" />
import { IRegistrationData, RegistrationFilter } from "../../../Common/IRegistrationData";
import { IValueRule } from "./IValueRule";
import { IDataDefinition } from "../../../Common/Data/Definitions/IDataDefinition";
export declare class ValueTableRegistrationData implements IRegistrationData<IValueRule> {
    category: string;
    icon: JSX.Element;
    name: string;
    private prototype;
    include?: RegistrationFilter;
    constructor(prototype: any, category: string, icon: JSX.Element, name: string, include?: RegistrationFilter);
    create(): IValueRule;
}
export declare class ValueRuleRegistry {
    private static registrations;
    static GetRuleForType(type: IDataDefinition): ValueTableRegistrationData[];
    static GetRuleByCategory(): {
        [key: string]: ValueTableRegistrationData[];
    };
    static GetRuleByName(name: IDataDefinition): IValueRule;
    static addRegistration(registrationData: ValueTableRegistrationData): void;
    static getAll(): ValueTableRegistrationData[];
}
export declare function RegisterValueTableRule(rule: IValueRule, category: string, name: string, icon: JSX.Element, include?: RegistrationFilter): void;
