import { Effect, Schema } from "effect";
declare const StateMismatchError_base: Schema.TaggedErrorClass<StateMismatchError, "StateMismatchError", {
    readonly _tag: Schema.tag<"StateMismatchError">;
} & {
    message: typeof Schema.String;
    traceIndex: typeof Schema.Number;
    stepIndex: typeof Schema.Number;
    expected: typeof Schema.Unknown;
    actual: typeof Schema.Unknown;
    showDiff: Schema.optionalWith<typeof Schema.Boolean, {
        default: () => true;
    }>;
}>;
export declare class StateMismatchError extends StateMismatchError_base {
}
declare const TraceReplayError_base: Schema.TaggedErrorClass<TraceReplayError, "TraceReplayError", {
    readonly _tag: Schema.tag<"TraceReplayError">;
} & {
    message: typeof Schema.String;
    traceIndex: typeof Schema.Number;
    stepIndex: typeof Schema.Number;
    action: typeof Schema.String;
    cause: Schema.optional<typeof Schema.Unknown>;
}>;
export declare class TraceReplayError extends TraceReplayError_base {
}
declare const NoTracesError_base: Schema.TaggedErrorClass<NoTracesError, "NoTracesError", {
    readonly _tag: Schema.tag<"NoTracesError">;
} & {
    message: typeof Schema.String;
}>;
export declare class NoTracesError extends NoTracesError_base {
}
export interface ReplayStepContext {
    readonly traceIndex: number;
    readonly stepIndex: number;
}
export interface ReplayActionContext extends ReplayStepContext {
    readonly action: string;
}
export declare const actionContext: (context: ReplayStepContext, action: string) => ReplayActionContext;
export declare const traceReplayError: (context: ReplayActionContext, message: string, cause?: unknown) => TraceReplayError;
export declare const unknownActionMessage: (action: string) => string;
export declare const withTraceReplayError: <A, E, R>(effect: Effect.Effect<A, E, R>, context: ReplayActionContext, formatMessage: (cause: unknown) => string) => Effect.Effect<A, TraceReplayError, R>;
/** @internal */
export declare const jsonReplacer: (_: string, v: unknown) => unknown;
export declare const stateMismatchError: (context: ReplayActionContext, seed: string, expected: unknown, actual: unknown) => StateMismatchError;
export {};
//# sourceMappingURL=replay-errors.d.ts.map