import * as z from "zod";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { Output, Output$Outbound } from "./output.js";
export type ErrorT = {
    data: string;
    event: string;
};
export type ReadResponseOutput = {
    /**
     * Reply which can be a batch of records, or a sequence number if the request could not be satisfied.
     */
    data: Output;
    event: string;
};
export type ReadResponse = ReadResponseOutput | ErrorT;
/** @internal */
export declare const ErrorT$inboundSchema: z.ZodType<ErrorT, z.ZodTypeDef, unknown>;
/** @internal */
export type ErrorT$Outbound = {
    data: string;
    event: string;
};
/** @internal */
export declare const ErrorT$outboundSchema: z.ZodType<ErrorT$Outbound, z.ZodTypeDef, ErrorT>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ErrorT$ {
    /** @deprecated use `ErrorT$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ErrorT, z.ZodTypeDef, unknown>;
    /** @deprecated use `ErrorT$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ErrorT$Outbound, z.ZodTypeDef, ErrorT>;
    /** @deprecated use `ErrorT$Outbound` instead. */
    type Outbound = ErrorT$Outbound;
}
export declare function errorToJSON(errorT: ErrorT): string;
export declare function errorFromJSON(jsonString: string): SafeParseResult<ErrorT, SDKValidationError>;
/** @internal */
export declare const ReadResponseOutput$inboundSchema: z.ZodType<ReadResponseOutput, z.ZodTypeDef, unknown>;
/** @internal */
export type ReadResponseOutput$Outbound = {
    data: Output$Outbound;
    event: string;
};
/** @internal */
export declare const ReadResponseOutput$outboundSchema: z.ZodType<ReadResponseOutput$Outbound, z.ZodTypeDef, ReadResponseOutput>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ReadResponseOutput$ {
    /** @deprecated use `ReadResponseOutput$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ReadResponseOutput, z.ZodTypeDef, unknown>;
    /** @deprecated use `ReadResponseOutput$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ReadResponseOutput$Outbound, z.ZodTypeDef, ReadResponseOutput>;
    /** @deprecated use `ReadResponseOutput$Outbound` instead. */
    type Outbound = ReadResponseOutput$Outbound;
}
export declare function readResponseOutputToJSON(readResponseOutput: ReadResponseOutput): string;
export declare function readResponseOutputFromJSON(jsonString: string): SafeParseResult<ReadResponseOutput, SDKValidationError>;
/** @internal */
export declare const ReadResponse$inboundSchema: z.ZodType<ReadResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type ReadResponse$Outbound = ReadResponseOutput$Outbound | ErrorT$Outbound;
/** @internal */
export declare const ReadResponse$outboundSchema: z.ZodType<ReadResponse$Outbound, z.ZodTypeDef, ReadResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ReadResponse$ {
    /** @deprecated use `ReadResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ReadResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `ReadResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ReadResponse$Outbound, z.ZodTypeDef, ReadResponse>;
    /** @deprecated use `ReadResponse$Outbound` instead. */
    type Outbound = ReadResponse$Outbound;
}
export declare function readResponseToJSON(readResponse: ReadResponse): string;
export declare function readResponseFromJSON(jsonString: string): SafeParseResult<ReadResponse, SDKValidationError>;
//# sourceMappingURL=readresponse.d.ts.map