import { UtilsService } from '../../../utils.service';
import { CreateStrategy } from '../../../../interfaces';
import { BpmnStatementNode, CustomBpmnModdle, ModdleElement, RecordOfAnyType } from '../../../../types';
import { WorkflowElement } from '../../../../classes';
import * as i0 from "@angular/core";
export declare class CreateBasicStrategy implements CreateStrategy<ModdleElement> {
    private readonly moddle;
    private readonly utils;
    constructor(moddle: CustomBpmnModdle, utils: UtilsService);
    /**
     * It creates a new BPMN element, assigns it an ID, and returns it
     * @param element - WorkflowElement<ModdleElement>
     * @param {BpmnStatementNode} node - BpmnStatementNode
     * @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<CreateBasicStrategy, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<CreateBasicStrategy>;
}
