import { Diff } from '../Diff';
interface EqualDiffSegment<TContent> extends Diff {
    equal: TContent[];
}
interface ChangeDiffSegment extends Diff {
    change: Diff[];
}
interface OmissionDiffSegment<TContent> extends Diff {
    omission: TContent[];
}
interface AdditionDiffSegment<TContent> extends Diff {
    addition: TContent[];
}
declare type ArrayDiffSegment<TContent> = EqualDiffSegment<TContent> | ChangeDiffSegment | OmissionDiffSegment<TContent> | AdditionDiffSegment<TContent>;
declare const isEqualDiffSegment: <TContent>(value: ArrayDiffSegment<TContent>) => value is EqualDiffSegment<TContent>;
declare const isChangeDiffSegment: <TContent>(value: ArrayDiffSegment<TContent>) => value is ChangeDiffSegment;
declare const isOmissionDiffSegment: <TContent>(value: ArrayDiffSegment<TContent>) => value is OmissionDiffSegment<TContent>;
declare const isAdditionDiffSegment: <TContent>(value: ArrayDiffSegment<TContent>) => value is AdditionDiffSegment<TContent>;
export type { EqualDiffSegment, ChangeDiffSegment, OmissionDiffSegment, AdditionDiffSegment, ArrayDiffSegment };
export { isEqualDiffSegment, isChangeDiffSegment, isOmissionDiffSegment, isAdditionDiffSegment };
