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

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 };
