import { PixiVNJsonStepSwitchElementType, PixiVNJsonStepSwitch } from '@drincs/pixi-vn-json';
import InkRootType from '../types/InkRootType.js';
import { ContainerTypeF } from '../types/parserItems/ContainerType.js';
import ControlCommands from '../types/parserItems/ControlCommands.js';
import { StandardDivert } from '../types/parserItems/Divert.js';
import NativeFunctions from '../types/parserItems/NativeFunctions.js';
import { R as RootParserItemType } from '../RootParserItemType-BeypaLqW.js';
import TextType from '../types/parserItems/TextType.js';
import { MyVariableAssignment } from '../types/parserItems/VariableAssignment.js';
import { ShareDataParserLabel } from './label-parser.js';
import '../types/parserItems/ReadCount.js';
import '../types/parserItems/VariableReference.js';

type ConditionalList = (number | ControlCommands | StandardDivert | NativeFunctions | TextType | ContainerTypeF)[];
declare function parserSwitch<T>(items: ConditionalList, addElement: (list: PixiVNJsonStepSwitchElementType<T>[], item: T | string | StandardDivert | PixiVNJsonStepSwitchElementType<T> | MyVariableAssignment, labelKey: string, paramNames: string[]) => void, addLabels: (storyItem: InkRootType | RootParserItemType, dadLabelKey: string, shareData: ShareDataParserLabel) => void, labelKey: string | undefined, shareData: ShareDataParserLabel, paramNames: string[], nestedId?: string | undefined): PixiVNJsonStepSwitch<T>;

export { type ConditionalList, parserSwitch };
