import type { JSONPrimitive } from "@rickosborne/typical"; export declare const JsonParseType: Readonly<{ readonly Arr: "array"; readonly Item: "item"; readonly Obj: "object"; readonly Prop: "property"; readonly Root: "root"; }>; export type JsonParseTypeT = (typeof JsonParseType)[keyof typeof JsonParseType]; export interface JsonParseStateBase { at: number; length: number; line: number; path: string; pos: number; type: JsonParseTypeT; } export interface JsonParseObjectState extends JsonParseStateBase { type: typeof JsonParseType.Obj; } export interface JsonParsePropertyState extends JsonParseStateBase { key: string; primitive?: JSONPrimitive | undefined; type: typeof JsonParseType.Prop; } export interface JsonParseArrayState extends JsonParseStateBase { count: number; type: typeof JsonParseType.Arr; } export interface JsonParseItemState extends JsonParseStateBase { index: number; primitive?: JSONPrimitive | undefined; type: typeof JsonParseType.Item; } export interface JsonParseRootState extends JsonParseStateBase { type: typeof JsonParseType.Root; } export declare const JsonParseTransition: Readonly<{ readonly Begin: "begin"; readonly End: "end"; }>; type JsonParseBeginEvent = Omit & { length: 0; transition: "begin"; }; type JsonParseEndEvent = S & { transition: "end"; }; export type JsonParseState = JsonParseObjectState | JsonParseArrayState | JsonParseItemState | JsonParsePropertyState | JsonParseRootState; export type JsonParseEvent = JsonParseBeginEvent | JsonParseEndEvent; export {}; //# sourceMappingURL=json-parse-type.d.ts.map