BlockRuleConfig: {
    _isGenerated?: boolean;
    name?: string;
    silent?: boolean;
} & ({
    params?: {
        steps: string[];
    };
    type: "laxOrder";
} | {
    params?: {
        steps: string[];
    };
    type: "strictOrder";
} | {
    params?: {
        steps: string[];
    };
    type: "noRepeat";
} | {
    params?: {
        steps: string[];
    };
    type: "terminal";
} | {
    params: {
        new: string[];
        old: string[];
    };
    type: "forbiddenExistingStep";
} | {
    params: {
        new: string[];
        old: string[];
    };
    type: "requiredExistingStep";
} | {
    params: {
        new: string[];
        old: string[];
    };
    type: "forbiddenCurrentStep";
} | {
    params: {
        new: string[];
        old: string[];
    };
    type: "requiredCurrentStep";
} | {
    params: {
        atts: string[];
        steps?: string[];
    };
    type: "reqAtts";
} | {
    params: {
        att: string;
        atts: string[];
        step: string;
        vals: string[];
    };
    type: "reqAttsIfExistingAttVal";
} | {
    params: {
        att: string;
        step: string;
    };
    type: "scanBeforeDeadline";
} | {
    params: {
        att: string;
        secs: number;
        step: string;
    };
    type: "minDelayFromLatestAttWithSameVal";
} | {
    params: {
        att: string;
        new: string[];
        old: string[];
        secs: number;
        step: string;
    };
    type: "minDelayFromLatestAgentAtt";
} | {
    params: {
        att: string;
        new: string[];
        old: string[];
        step: string;
    };
    type: "requiredLatestAgentAtt";
} | {
    params?: {
        idAtt: string;
        matchAtt: string;
    };
    type: "noRepeatAtt";
} | {
    params?: {
        att: string;
        step: string;
    };
    type: "noRepeatAgentAtt";
} | {
    params?: {
        att: string;
        step: string;
    };
    type: "noRepeatCaseAtt";
} | {
    params: {
        att1: string;
        att2: string;
        step: string;
    };
    type: "requireDifferentAttVals";
} | {
    params: {
        exceptAtt?: string;
        exceptAttVal?: string;
        specLabel: string;
        step: string;
    };
    type: "positiveSum";
} | {
    params: {
        seconds: number;
        step: string;
    };
    type: "scanWithinDuration";
} | {
    params: {
        agentTag: string;
        att: string;
        attVals: string[];
    };
    type: "requiredAttValForAgentTag";
} | {
    type: "requiredAgentTagMatchingSession";
} | {
    params: {
        att: string;
        step: string;
        vals: string[];
    };
    type: "requiredExistingAttVal";
} | {
    params: {
        existingVal: string;
        incomingAtt: string;
        step: string;
    };
    type: "requiredMatchingExistingAtt";
} | {
    params: {
        maxScansAtt: string;
        step: string;
    };
    type: "maxScans";
} | {
    params: {
        maxCount: number;
        step: string;
    };
    type: "maxScansFixed";
})

Type declaration

  • Optional _isGenerated?: boolean

    used by addons to identify stuff to regenerate

  • Optional name?: string

    name displayed in the UI

  • Optional silent?: boolean

    should scans matching this rule be silently discarded without any feedback or error shown to the user?