import { Diff } from '../Diff';
import { Result } from 'defekt';
declare const unequalValueResultDiffSymbol: unique symbol;
declare const unequalErrorResultDiffSymbol: unique symbol;
declare const expectedValueGotErrorResultDiffSymbol: unique symbol;
declare const expectedErrorGotValueResultDiffSymbol: unique symbol;
declare const unequalValueResultDiff: (parameters: Omit<UnequalValueResultDiff, 'kind'>) => UnequalValueResultDiff;
declare const unequalErrorResultDiff: (parameters: Omit<UnequalErrorResultDiff, 'kind'>) => UnequalErrorResultDiff;
declare const expectedValueGotErrorResultDiff: (parameters: Omit<ExpectedValueGotErrorResultDiff, 'kind'>) => ExpectedValueGotErrorResultDiff;
declare const expectedErrorGotValueResultDiff: (parameters: Omit<ExpectedErrorGotValueResultDiff, 'kind'>) => ExpectedErrorGotValueResultDiff;
interface UnequalValueResultDiff extends Diff {
    kind: typeof unequalValueResultDiffSymbol;
    diff: Diff;
}
interface UnequalErrorResultDiff extends Diff {
    kind: typeof unequalErrorResultDiffSymbol;
    diff: Diff;
}
interface ExpectedValueGotErrorResultDiff extends Diff {
    kind: typeof expectedValueGotErrorResultDiffSymbol;
    actual: Result<any, any>;
    expected: Result<any, any>;
}
interface ExpectedErrorGotValueResultDiff extends Diff {
    kind: typeof expectedErrorGotValueResultDiffSymbol;
    actual: Result<any, any>;
    expected: Result<any, any>;
}
declare type ResultDiff = UnequalValueResultDiff | UnequalErrorResultDiff | ExpectedValueGotErrorResultDiff | ExpectedErrorGotValueResultDiff;
declare const isUnequalValueResultDiff: (diff: any) => diff is UnequalValueResultDiff;
declare const isUnequalErrorResultDiff: (diff: any) => diff is UnequalErrorResultDiff;
declare const isExpectedValueGotErrorResultDiff: (diff: any) => diff is ExpectedValueGotErrorResultDiff;
declare const isExpectedErrorGotValueResultDiff: (diff: any) => diff is ExpectedErrorGotValueResultDiff;
declare const isResultDiff: (diff: any) => diff is ResultDiff;
export type { ExpectedValueGotErrorResultDiff, ExpectedErrorGotValueResultDiff, ResultDiff, UnequalValueResultDiff, UnequalErrorResultDiff };
export { expectedErrorGotValueResultDiff, expectedValueGotErrorResultDiff, isExpectedValueGotErrorResultDiff, isExpectedErrorGotValueResultDiff, isResultDiff, isUnequalErrorResultDiff, isUnequalValueResultDiff, unequalErrorResultDiff, unequalValueResultDiff };
