import type { Tool } from '@wrongstack/core/types'; export type JsonAction = 'parse' | 'query' | 'validate' | 'transform' | 'merge'; export interface JsonInput { /** Operation to perform. Defaults to 'parse'. */ action?: JsonAction | undefined; /** Path to JSON/JSON5/YAML file (alternative to `data`). */ file?: string | undefined; /** Inline JSON/JSON5/YAML string (alternative to `file`). */ data?: string | undefined; /** Output format for parse/query/transform results. */ format?: 'json' | 'json5' | 'yaml' | undefined; validate?: boolean | undefined; /** JMESPath-like query expression. */ query?: string | undefined; /** Ordered JMESPath transforms (transform action only). */ transforms?: string[] | undefined; /** JSON Schema to validate against. */ schema?: Record | undefined; /** Base object for merge. */ base?: unknown | undefined; /** Patch object for merge. */ patch?: unknown | undefined; /** Merge conflict resolution: 'prefer-patch' (default) or 'prefer-base'. */ conflictResolution?: 'prefer-base' | 'prefer-patch' | undefined; } export interface JsonOutput { data: unknown; formatted: string; type: string; action: string; keys?: string[] | undefined; query_result?: unknown | undefined; result?: unknown | undefined; valid?: boolean | undefined; errors?: string[] | undefined; steps?: Array<{ transform: string; result: unknown; }> | undefined; } export declare const jsonTool: Tool; //# sourceMappingURL=json.d.ts.map