import { type ContractProblem, type ContractProblemIssue, type ContractResult, type ContractSuccess } from '@contractspec/lib.contracts-spec/results'; export interface ContractFieldError { message: string; type?: string; } export type ContractFieldErrorMap = Record; export declare function parseContractResponse(value: unknown): ContractResult; export declare function problemIssuesToFieldErrors(problem: ContractProblem | undefined): ContractFieldErrorMap; export interface UseContractMutationState { result: ContractResult | null; data: TData | null; problem: ContractProblem | null; loading: boolean; } export declare function useContractMutation(execute: (input: TInput) => Promise): { mutate: (input: TInput) => Promise>; result: ContractResult | null; data: TData | null; problem: ContractProblem | null; loading: boolean; }; export interface UseContractQueryOptions { input: TInput; enabled?: boolean; } export declare function useContractQuery(execute: (input: TInput) => Promise, options: UseContractQueryOptions): { refetch: () => Promise>; mutate: (input: TInput) => Promise>; result: ContractResult | null; data: TData | null; problem: ContractProblem | null; loading: boolean; }; export type { ContractProblemIssue, ContractSuccess };