import { WorkflowElement } from '../../../../classes';
import { CreateStrategy } from '../../../../interfaces';
import { RecordOfAnyType } from '../../../../types/base.types';
import { BpmnStatementNode, CustomBpmnModdle, ModdleElement } from '../../../../types/bpmn.types';
import { UtilsService } from '../../../utils.service';
import * as i0 from "@angular/core";
export declare class CreateGatewayStrategy implements CreateStrategy<ModdleElement> {
    private readonly moddle;
    private readonly utils;
    constructor(moddle: CustomBpmnModdle, utils: UtilsService);
    /**
     * It creates a new BPMN element, sets the id, and sets the outgoing flow
     * @param element - WorkflowElement<ModdleElement>
     * @param {BpmnStatementNode} node - BpmnStatementNode - this is the node that is being processed.
     * @param {RecordOfAnyType} attrs - RecordOfAnyType
     * @returns A ModdleElement
     */
    execute(element: WorkflowElement<ModdleElement>, node: BpmnStatementNode, attrs: RecordOfAnyType): ModdleElement;
    /**
     * It takes an object of attributes and a node, and if any of the attributes are objects with a key
     * of 'state', it replaces the attribute with the value of the state variable
     * @param {RecordOfAnyType} attrs - RecordOfAnyType - this is the attributes object that is passed to
     * the node.
     * @param {BpmnStatementNode} node - The current node being processed
     * @returns The attributes of the node.
     */
    private parseAttributes;
    static ɵfac: i0.ɵɵFactoryDeclaration<CreateGatewayStrategy, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<CreateGatewayStrategy>;
}
