import type { DecodedValue, FormattedValue, ReadValueOptions, Schema, TransformedValue } from '../../../schema/index.js'; import { SchemaAction } from '../../../schema/index.js'; import type { FormatValueOptions, InferReadValueOptions } from './options.js'; export type FormatterYield = {}, READ_VALUE_OPTIONS extends ReadValueOptions = InferReadValueOptions> = OPTIONS extends { transform: false; } | { format: false; } ? never : DecodedValue; export type FormatterReturn = {}, READ_VALUE_OPTIONS extends ReadValueOptions = InferReadValueOptions> = OPTIONS extends { format: false; } ? DecodedValue : FormattedValue; export declare class Formatter extends SchemaAction { static actionName: "format"; start = {}>(inputValue: unknown, options?: OPTIONS): Generator, FormatterReturn>; format = {}>(inputValue: unknown, options?: OPTIONS): FormatterReturn; validate(inputValue: unknown): inputValue is TransformedValue; }