import type { Parameter } from '@seamapi/blueprint'; /** An argument whose value does not fit the parameter's documented format. */ export interface CoercionIssue { name: string; given: unknown; /** What the parameter takes, e.g., `a number`. */ expected: string; } type Coerced = { value: unknown; } | { issue: string; }; /** * Read each argument as the JSON value its parameter documents: booleans and * numbers become real booleans and numbers, lists split on commas, objects * parse as JSON. The request body is then the same whether a value arrived * as an argument, over stdin, or interactively. * * An argument naming no parameter passes through unchanged: unknown * arguments are reported by `assertKnownArgs`, not silently dropped here. */ export declare const coerceArgParams: (parameters: Parameter[], argParams: Record) => { params: Record; issues: CoercionIssue[]; }; export declare const coerceParam: (parameter: Parameter, given: unknown) => Coerced; export {};