import { z } from 'zod'; import type { RefExpressionParseResult } from '#src/references/expression-types.js'; import type { DefinitionEntityType } from '#src/references/types.js'; import { RefExpressionParser } from '#src/references/expression-types.js'; /** * A no-op stub parser for testing the expression infrastructure. * * This parser doesn't actually parse anything - it's used to verify * that the marker creation, collection, and flow work correctly * before implementing real parsers. * * @example * ```typescript * // Use in schema definition for testing * const schema = z.object({ * expression: ctx.withExpression(stubParser), * }); * ``` */ declare class StubParser extends RefExpressionParser { readonly name = "stub"; createSchema(): z.ZodType; parse(): RefExpressionParseResult; getWarnings(): []; getReferencedEntities(): []; } /** * Singleton instance of StubParser for convenience. */ export declare const stubParser: StubParser; /** * A stub parser that requires slots for testing slot resolution. * * This parser accepts a generic slots parameter to test that expression * slots are correctly resolved to their ancestor paths. * * @example * ```typescript * const modelType = createEntityType('model'); * const parserWithSlots = new StubParserWithSlots<{ model: typeof modelType }>(); * * ctx.refContext({ modelSlot: modelType }, ({ modelSlot }) => * z.object({ * condition: ctx.withExpression(parserWithSlots, { model: modelSlot }), * }) * ); * ``` */ export declare class StubParserWithSlots> extends RefExpressionParser { readonly name = "stub-with-slots"; createSchema(): z.ZodType; parse(): RefExpressionParseResult; getWarnings(): []; getReferencedEntities(): []; } export {}; //# sourceMappingURL=expression-stub-parser.test-helper.d.ts.map