import { LabelIdType } from '../types/LabelIdType.mjs';
import { StepLabelType } from '../types/StepLabelType.mjs';
import LabelAbstract from './LabelAbstract.mjs';
import StepLabelJsonType from '../types/StepLabelJsonType.mjs';
import LabelProps from '../interface/LabelProps.mjs';
import '@drincs/pixi-vn/dist/override';
import '../types/StepHistoryDataType.mjs';
import '../types/StorageElementType.mjs';
import '../types/LabelRunModeType.mjs';

declare class LabelJson<T extends {} = {}> extends LabelAbstract<LabelJson<T>, T> {
    /**
     * @param id is the id of the label
     * @param steps is the list of steps that the label will perform
     * @param props is the properties of the label
     */
    constructor(id: LabelIdType, steps: StepLabelJsonType[] | (() => StepLabelJsonType[]), props?: LabelProps<LabelJson<T>>);
    private _steps;
    /**
     * Get the steps of the label.
     */
    get steps(): StepLabelType<T>[];
    private stepConverter;
}

export { LabelJson as default };
