import { Path, ValueProcessor, ValueResult } from 'validata';
export interface TestIssue {
    path?: Path[];
    reason: string;
}
export interface TestDefinition<T> {
    input: unknown;
    expect?: T;
    issues?: TestIssue[];
}
export declare const runTests: <T>(fut: ValueProcessor<T>, ...tests: TestDefinition<T>[]) => void;
export declare const expectIssue: <T>(fut: ValueProcessor<T>, value: unknown, reason: string, path?: Path[]) => void;
export declare const expectSuccess: <T>(fut: ValueProcessor<T>, value: unknown) => ValueResult<T>;
export declare const expectValue: <T>(fut: ValueProcessor<T>, value: unknown, coerced: T) => void;
