import type { ArrayPath } from '../../schema/actions/utils/types.js'; import type { Extension, ItemSchema, Schema, SchemaUnextendedValue } from '../../schema/index.js'; import type { TransformedValue } from './transformedValue.js'; import type { ValidValue } from './validValue.js'; export declare const $extension: unique symbol; export type $extension = typeof $extension; export declare const $contextExtension: unique symbol; export type $contextExtension = typeof $contextExtension; export type ExtensionParserOptions = { transform?: boolean; valuePath?: ArrayPath; }; export type ExtensionParser = { [$extension]?: EXTENSION; [$contextExtension]?: CONTEXT_EXTENSION; } & ((schema: Schema, input: unknown, options?: ExtensionParserOptions) => { isExtension: true; extensionParser: () => Generator, TransformedValue, ValidValue | undefined>; unextendedInput?: never; } | { isExtension: false; extensionParser?: never; unextendedInput: SchemaUnextendedValue | undefined; });