import * as v from '../../shared/src/valita.ts';
import { ErrorKind } from './error-kind.ts';
declare const backoffBodySchema: v.ObjectType<{
    kind: v.Type<"Rebalance" | "Rehome" | "ServerOverloaded">;
    message: v.Type<string>;
    minBackoffMs: v.Optional<number>;
    maxBackoffMs: v.Optional<number>;
    reconnectParams: v.Optional<Record<string, string>>;
}, undefined>;
export declare const errorKindSchema: v.Type<ErrorKind>;
export declare const errorBodySchema: v.UnionType<[v.ObjectType<{
    kind: v.Type<"VersionNotSupported" | "AuthInvalidated" | "ClientNotFound" | "InvalidConnectionRequest" | "InvalidConnectionRequestBaseCookie" | "InvalidConnectionRequestLastMutationID" | "InvalidConnectionRequestClientDeleted" | "InvalidMessage" | "InvalidPush" | "MutationFailed" | "MutationRateLimited" | "Unauthorized" | "SchemaVersionNotSupported" | "Internal">;
    message: v.Type<string>;
}, undefined>, v.ObjectType<{
    kind: v.Type<"Rebalance" | "Rehome" | "ServerOverloaded">;
    message: v.Type<string>;
    minBackoffMs: v.Optional<number>;
    maxBackoffMs: v.Optional<number>;
    reconnectParams: v.Optional<Record<string, string>>;
}, undefined>]>;
export type BackoffBody = v.Infer<typeof backoffBodySchema>;
export type ErrorBody = v.Infer<typeof errorBodySchema>;
export declare const errorMessageSchema: v.Type<ErrorMessage>;
export type ErrorMessage = ['error', ErrorBody];
export {};
//# sourceMappingURL=error.d.ts.map