import { Effect, Schema } from "effect";
declare const StateMismatchError_base: Schema.Class<StateMismatchError, Schema.TaggedStruct<"StateMismatchError", {
    readonly message: Schema.String;
    readonly traceIndex: Schema.Number;
    readonly stepIndex: Schema.Number;
    readonly expected: Schema.Unknown;
    readonly actual: Schema.Unknown;
    readonly showDiff: Schema.withDecodingDefault<Schema.withConstructorDefault<Schema.Boolean>, never>;
}>, import("effect/Cause").YieldableError>;
export declare class StateMismatchError extends StateMismatchError_base {
}
declare const TraceReplayError_base: Schema.Class<TraceReplayError, Schema.TaggedStruct<"TraceReplayError", {
    readonly message: Schema.String;
    readonly traceIndex: Schema.Number;
    readonly stepIndex: Schema.Number;
    readonly action: Schema.String;
    readonly cause: Schema.optional<Schema.Unknown>;
}>, import("effect/Cause").YieldableError>;
export declare class TraceReplayError extends TraceReplayError_base {
}
declare const NoTracesError_base: Schema.Class<NoTracesError, Schema.TaggedStruct<"NoTracesError", {
    readonly message: Schema.String;
}>, import("effect/Cause").YieldableError>;
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