import * as z from "zod";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
/**
 * Position of a record in a stream.
 */
export type StreamPosition = {
    /**
     * Sequence number assigned by the service.
     */
    seqNum: number;
    /**
     * Timestamp, which may be client-specified or assigned by the service.
     *
     * @remarks
     * If it is assigned by the service, it will represent milliseconds since Unix epoch.
     */
    timestamp: number;
};
/** @internal */
export declare const StreamPosition$inboundSchema: z.ZodType<StreamPosition, z.ZodTypeDef, unknown>;
/** @internal */
export type StreamPosition$Outbound = {
    seq_num: number;
    timestamp: number;
};
/** @internal */
export declare const StreamPosition$outboundSchema: z.ZodType<StreamPosition$Outbound, z.ZodTypeDef, StreamPosition>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace StreamPosition$ {
    /** @deprecated use `StreamPosition$inboundSchema` instead. */
    const inboundSchema: z.ZodType<StreamPosition, z.ZodTypeDef, unknown>;
    /** @deprecated use `StreamPosition$outboundSchema` instead. */
    const outboundSchema: z.ZodType<StreamPosition$Outbound, z.ZodTypeDef, StreamPosition>;
    /** @deprecated use `StreamPosition$Outbound` instead. */
    type Outbound = StreamPosition$Outbound;
}
export declare function streamPositionToJSON(streamPosition: StreamPosition): string;
export declare function streamPositionFromJSON(jsonString: string): SafeParseResult<StreamPosition, SDKValidationError>;
//# sourceMappingURL=streamposition.d.ts.map