/// <reference types="react" />
import { IRegistrationData, RegistrationFilter } from "../../Common/IRegistrationData";
import { BaseFlowStep } from "../Steps/BaseFlowStep";
import { XDataDefinition } from "../../Common/Data/XDataDefinition";
export declare class RegistrationData implements IRegistrationData<BaseFlowStep> {
    category: string;
    name: string;
    icon: JSX.Element;
    private prototype;
    include?: RegistrationFilter;
    constructor(prototype: any, category: string, name: string, icon: JSX.Element, include?: RegistrationFilter);
    create(): BaseFlowStep;
}
export declare function RegisterFlowStep(step: BaseFlowStep, category: string, name: string, icon: JSX.Element, include?: RegistrationFilter): void;
export declare class FlowStepRegistrationClass {
    private registrations;
    addRegistration(data: RegistrationData): void;
    getByName(name: string): RegistrationData;
    getAll(forData?: XDataDefinition): RegistrationData[];
    getItemsByCategories(category?: string): {
        [key: string]: RegistrationData[];
    };
}
export declare const FlowStepRegistration: FlowStepRegistrationClass;
