import { jsx as _jsx } from "react/jsx-runtime";
// -------------
// this is the registration of all default flow elements
// -------------
import { RegisterFlowStep } from "./Utilities/RegisterFlowStep";
import { FormStepIcon } from "../CommonUI/Icon/FormStepIcon";
import { Approval, AssignTask, FormStep, GetComment, GetFile, GetRating, Voting } from "./Steps/UI/FormStep";
import { LogStepIcon } from "../CommonUI/Icon/LogStepIcon";
import { LogStep } from "./Steps/General/LogStep";
import { MultiStepIcon } from "../CommonUI/Icon/MultiStepIcon";
import { LongOutputTestStep, ManyOutputTestStep, MultiOutputTestStep } from "./Steps/ExampleSteps/MultiOutputTestStep";
import { CallWebservice } from "./Steps/Webservice/WebserviceCall";
import { GetEmail, SendEmail, SendSMS, WaitForEmailResponse } from "./Steps/Communication/SendEmail";
import { GetByID, ReadDataFromSQl, RunSQLCommand, SaveData, SearchData } from "./Steps/Database/DatabaseSteps";
import { ReadCSV, ReadFile, ReadFileFromURL, ReadJSON, ReadXML, WriteCSV, WriteFile, WriteJSON, WriteXML, } from "./Steps/File/FileSteps";
import { RunExpression } from "./Steps/Expressions/ExpressionSteps";
import { RunIntersectionRule, RunRuleSet, RunRuleTable, RunStatementRule, RunTreeRule, RunValueTable, } from "./Steps/Rules/RuleSteps";
import { RunFlow, SaveFlowData } from "./Steps/General/FlowSteps";
import { ForEachInListSteps, ForEachInListStepsParallel } from "./Steps/List/InterationSteps";
import { RunFlowIcon } from "../CommonUI/Icon/RunFlowIcon";
import { SaveFlowIcon } from "../CommonUI/Icon/SaveFlowIcon";
import { ServiceCallIcon } from "../CommonUI/Icon/ServiceCallIcon";
import { SendEmailIcon } from "../CommonUI/Icon/SendEmailIcon";
import { GetEmailIcon } from "../CommonUI/Icon/GetEmailIcon";
import { WaitEmailResIcon } from "../CommonUI/Icon/WaitEmailResIcon";
import { SendSMSIcon } from "../CommonUI/Icon/SendSMSIcon";
import { RunSqlIcon } from "../CommonUI/Icon/RunSqlIcon";
import { ReadSQLIcon } from "../CommonUI/Icon/ReadSQLIcon";
import { SaveDataIcon } from "../CommonUI/Icon/SaveDataIcon";
import { SearchDataIcon } from "../CommonUI/Icon/SearchDataIcon";
import { GetByIdIcon } from "../CommonUI/Icon/GetByIdIcon";
import { ForEachIcon } from "../CommonUI/Icon/ForEachIcon";
import { ForEachParallelIcon } from "../CommonUI/Icon/ForEachParallelIcon";
import { RunStatementRuleIcon } from "../CommonUI/Icon/RunStatementRuleIcon";
import { RunTableRuleIcon } from "../CommonUI/Icon/RunTableRuleIcon";
import { RunTreeRuleIcon } from "../CommonUI/Icon/RunTreeRuleIcon";
import { RunRuleSetIcon } from "../CommonUI/Icon/RunRuleSetIcon";
import { RunIntersectionRuleIcon } from "../CommonUI/Icon/RunIntersectionRuleIcon";
import { RunExpressionBooleanIcon } from "../CommonUI/Icon/RunExpressionBooleanIcon";
import { RunValueRuleIcon } from "../CommonUI/Icon/RunValueRuleIcon";
import { WriteFileIcon } from "../CommonUI/Icon/WriteFileIcon";
import { ReadFileIcon } from "../CommonUI/Icon/ReadFileIcon";
import { ReadFileFromURLIcon } from "../CommonUI/Icon/ReadFileFromURLIcon";
import { ReadCSVIcon } from "../CommonUI/Icon/ReadCSVIcon";
import { WriteCSVIcon } from "../CommonUI/Icon/WriteCSVIcon";
import { WriteJSONIcon } from "../CommonUI/Icon/WriteJSONIcon";
import { ReadJSONIcon } from "../CommonUI/Icon/ReadJSONIcon";
import { ReadXMLIcon } from "../CommonUI/Icon/ReadXMLIcon";
import { WriteXMLIcon } from "../CommonUI/Icon/WriteXMLIcon";
import { ApprovalIcon } from "../CommonUI/Icon/ApprovalIcon";
import { AssignTaskIcon } from "../CommonUI/Icon/AssignTaskIcon";
import { GetFileIcon } from "../CommonUI/Icon/GetFileIcon";
import { GetCommentIcon } from "../CommonUI/Icon/GetCommentIcon";
import { VotingIcon } from "../CommonUI/Icon/VotingIcon";
import { GetRatingIcon } from "../CommonUI/Icon/GetRatingIcon";
export class RegisterFlowElements {
    static doRegistration() {
        if (RegisterFlowElements.isRegistered)
            return;
        RegisterFlowElements.isRegistered = true;
        RegisterFlowStep(new MultiOutputTestStep(), "Testing", "Multiple Paths", _jsx(MultiStepIcon, {}, void 0));
        RegisterFlowStep(new ManyOutputTestStep(), "Testing", "Multiple Paths - Many", _jsx(MultiStepIcon, {}, void 0));
        RegisterFlowStep(new LongOutputTestStep(), "Testing", "Multiple Paths - Long", _jsx(MultiStepIcon, {}, void 0));
        RegisterFlowStep(new FormStep(), "UI", "Form", _jsx(FormStepIcon, {}, void 0));
        RegisterFlowStep(new Approval(), "UI", "Approval", _jsx(ApprovalIcon, {}, void 0));
        RegisterFlowStep(new AssignTask(), "UI", "Assign Task", _jsx(AssignTaskIcon, {}, void 0));
        RegisterFlowStep(new GetFile(), "UI", "Get File", _jsx(GetFileIcon, {}, void 0));
        RegisterFlowStep(new GetComment(), "UI", "Comment", _jsx(GetCommentIcon, {}, void 0));
        RegisterFlowStep(new Voting(), "UI", "Voting", _jsx(VotingIcon, {}, void 0));
        RegisterFlowStep(new GetRating(), "UI", "Get Rating", _jsx(GetRatingIcon, {}, void 0));
        RegisterFlowStep(new WriteFile(), "File", "Write File", _jsx(WriteFileIcon, {}, void 0));
        RegisterFlowStep(new ReadFile(), "File", "Read File", _jsx(ReadFileIcon, {}, void 0));
        RegisterFlowStep(new ReadFileFromURL(), "File", "Read File From URL", _jsx(ReadFileFromURLIcon, {}, void 0));
        RegisterFlowStep(new ReadCSV(), "File", "Read CSV", _jsx(ReadCSVIcon, {}, void 0));
        RegisterFlowStep(new WriteCSV(), "File", "Write CSV", _jsx(WriteCSVIcon, {}, void 0));
        RegisterFlowStep(new ReadJSON(), "File", "Read JSON", _jsx(ReadJSONIcon, {}, void 0));
        RegisterFlowStep(new WriteJSON(), "File", "Write JSON", _jsx(WriteJSONIcon, {}, void 0));
        RegisterFlowStep(new ReadXML(), "File", "Read XML", _jsx(ReadXMLIcon, {}, void 0));
        RegisterFlowStep(new WriteXML(), "File", "Write XML", _jsx(WriteXMLIcon, {}, void 0));
        RegisterFlowStep(new RunExpression(), "Expression", "Run Expression", _jsx(RunExpressionBooleanIcon, {}, void 0));
        RegisterFlowStep(new RunStatementRule(), "Rule", "Run Statement Rule", _jsx(RunStatementRuleIcon, {}, void 0));
        RegisterFlowStep(new RunRuleTable(), "Rule", "Run Rule Table", _jsx(RunTableRuleIcon, {}, void 0));
        RegisterFlowStep(new RunValueTable(), "Rule", "Run Value Table", _jsx(RunValueRuleIcon, {}, void 0));
        RegisterFlowStep(new RunIntersectionRule(), "Rule", "Run Intersection Rule", _jsx(RunIntersectionRuleIcon, {}, void 0));
        RegisterFlowStep(new RunTreeRule(), "Rule", "Run Tree Rule", _jsx(RunTreeRuleIcon, {}, void 0));
        RegisterFlowStep(new RunRuleSet(), "Rule", "Run Rule Set", _jsx(RunRuleSetIcon, {}, void 0));
        RegisterFlowStep(new RunFlow(), "Flow", "Run Flow", _jsx(RunFlowIcon, {}, void 0));
        RegisterFlowStep(new SaveFlowData(), "Flow", "Save Flow", _jsx(SaveFlowIcon, {}, void 0));
        RegisterFlowStep(new LogStep(), "Utilities", "Log", _jsx(LogStepIcon, {}, void 0));
        RegisterFlowStep(new CallWebservice(), "Service", "Call Service", _jsx(ServiceCallIcon, {}, void 0));
        RegisterFlowStep(new SendEmail(), "Communication", "Send Email", _jsx(SendEmailIcon, {}, void 0));
        RegisterFlowStep(new GetEmail(), "Communication", "Get Email", _jsx(GetEmailIcon, {}, void 0));
        RegisterFlowStep(new WaitForEmailResponse(), "Communication", "Wait For Email Response", _jsx(WaitEmailResIcon, {}, void 0));
        RegisterFlowStep(new SendSMS(), "Communication", "Send SMS", _jsx(SendSMSIcon, {}, void 0));
        RegisterFlowStep(new ReadDataFromSQl(), "Database", "Read Data From SQL", _jsx(ReadSQLIcon, {}, void 0));
        RegisterFlowStep(new RunSQLCommand(), "Database", "Run SQL", _jsx(RunSqlIcon, {}, void 0));
        RegisterFlowStep(new SaveData(), "Database", "Save Data", _jsx(SaveDataIcon, {}, void 0));
        RegisterFlowStep(new SearchData(), "Database", "Search Data", _jsx(SearchDataIcon, {}, void 0));
        RegisterFlowStep(new GetByID(), "Database", "Get By ID", _jsx(GetByIdIcon, {}, void 0));
        RegisterFlowStep(new ForEachInListSteps(), "List", "For Each In List", _jsx(ForEachIcon, {}, void 0));
        RegisterFlowStep(new ForEachInListStepsParallel(), "List", "For Each In List (Parallel)", _jsx(ForEachParallelIcon, {}, void 0));
    }
}
RegisterFlowElements.isRegistered = false;
//# sourceMappingURL=registerElements.js.map