import type { Logger } from "../client.mjs"; import { BetaContentBlock, BetaJSONOutputFormat, BetaMessage, BetaOutputConfig, BetaTextBlock, MessageCreateParams } from "../resources/beta/messages/messages.mjs"; type Simplify = { [KeyType in keyof T]: T[KeyType]; } & {}; type AutoParseableBetaOutputConfig = Omit & { format?: BetaJSONOutputFormat | AutoParseableBetaOutputFormat | null; }; export type BetaParseableMessageCreateParams = Simplify & { /** * @deprecated Use `output_config.format` instead. This parameter will be removed in a future * release. */ output_format?: BetaJSONOutputFormat | AutoParseableBetaOutputFormat | null; output_config?: AutoParseableBetaOutputConfig | null; }>; export type ExtractParsedContentFromBetaParams = Params['output_format'] extends AutoParseableBetaOutputFormat ? P : Params['output_config'] extends { format: AutoParseableBetaOutputFormat; } ? P : null; export type AutoParseableBetaOutputFormat = BetaJSONOutputFormat & { parse(content: string): ParsedT; }; export type ParsedBetaMessage = BetaMessage & { content: Array>; parsed_output: ParsedT | null; }; export type ParsedBetaContentBlock = (BetaTextBlock & { parsed_output: ParsedT | null; }) | Exclude; export declare function maybeParseBetaMessage(message: BetaMessage, params: Params, opts: { logger: Logger; }): ParsedBetaMessage>>; export declare function parseBetaMessage(message: BetaMessage, params: Params, opts: { logger: Logger; }): ParsedBetaMessage>; export {}; //# sourceMappingURL=beta-parser.d.mts.map