import { z } from 'zod';
import { DeduplicationPeriodSchema } from './commands';
/**
 * Status information for completions.
 */
export declare const JsStatusSchema: z.ZodObject<{
    code: z.ZodNumber;
    message: z.ZodString;
    details: z.ZodOptional<z.ZodArray<z.ZodObject<{
        code: z.ZodNumber;
        message: z.ZodString;
        details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
    }, z.core.$strip>>>;
}, z.core.$strip>;
/**
 * Synchronizer time information.
 */
export declare const SynchronizerTimeSchema: z.ZodObject<{
    synchronizerId: z.ZodString;
    recordTime: z.ZodString;
}, z.core.$strip>;
/**
 * Completion details.
 */
export declare const CompletionSchema: z.ZodObject<{
    value: z.ZodObject<{
        commandId: z.ZodString;
        status: z.ZodOptional<z.ZodObject<{
            code: z.ZodNumber;
            message: z.ZodString;
            details: z.ZodOptional<z.ZodArray<z.ZodObject<{
                code: z.ZodNumber;
                message: z.ZodString;
                details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
            }, z.core.$strip>>>;
        }, z.core.$strip>>;
        updateId: z.ZodOptional<z.ZodString>;
        userId: z.ZodOptional<z.ZodString>;
        actAs: z.ZodOptional<z.ZodArray<z.ZodString>>;
        submissionId: z.ZodOptional<z.ZodString>;
        deduplicationPeriod: z.ZodUnion<readonly [z.ZodObject<{
            DeduplicationDuration: z.ZodObject<{
                seconds: z.ZodNumber;
            }, z.core.$strip>;
        }, z.core.$strip>, z.ZodObject<{
            DeduplicationOffset: z.ZodObject<{
                offset: z.ZodNumber;
            }, z.core.$strip>;
        }, z.core.$strip>, z.ZodObject<{
            Empty: z.ZodObject<{}, z.core.$strip>;
        }, z.core.$strip>]>;
        traceContext: z.ZodOptional<z.ZodObject<{
            traceId: z.ZodOptional<z.ZodString>;
            spanId: z.ZodOptional<z.ZodString>;
            parentSpanId: z.ZodOptional<z.ZodString>;
            metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        }, z.core.$strip>>;
        offset: z.ZodNumber;
        synchronizerTime: z.ZodObject<{
            synchronizerId: z.ZodString;
            recordTime: z.ZodString;
        }, z.core.$strip>;
    }, z.core.$strip>;
}, z.core.$strip>;
/**
 * Offset checkpoint for stream resumption.
 */
export declare const OffsetCheckpointSchema: z.ZodObject<{
    value: z.ZodObject<{
        offset: z.ZodNumber;
        synchronizerTimes: z.ZodArray<z.ZodObject<{
            synchronizerId: z.ZodString;
            recordTime: z.ZodString;
        }, z.core.$strip>>;
    }, z.core.$strip>;
}, z.core.$strip>;
/**
 * Completion response (oneOf completion, empty, or offset checkpoint).
 */
export declare const CompletionResponseSchema: z.ZodUnion<readonly [z.ZodObject<{
    Completion: z.ZodObject<{
        value: z.ZodObject<{
            commandId: z.ZodString;
            status: z.ZodOptional<z.ZodObject<{
                code: z.ZodNumber;
                message: z.ZodString;
                details: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    code: z.ZodNumber;
                    message: z.ZodString;
                    details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                }, z.core.$strip>>>;
            }, z.core.$strip>>;
            updateId: z.ZodOptional<z.ZodString>;
            userId: z.ZodOptional<z.ZodString>;
            actAs: z.ZodOptional<z.ZodArray<z.ZodString>>;
            submissionId: z.ZodOptional<z.ZodString>;
            deduplicationPeriod: z.ZodUnion<readonly [z.ZodObject<{
                DeduplicationDuration: z.ZodObject<{
                    seconds: z.ZodNumber;
                }, z.core.$strip>;
            }, z.core.$strip>, z.ZodObject<{
                DeduplicationOffset: z.ZodObject<{
                    offset: z.ZodNumber;
                }, z.core.$strip>;
            }, z.core.$strip>, z.ZodObject<{
                Empty: z.ZodObject<{}, z.core.$strip>;
            }, z.core.$strip>]>;
            traceContext: z.ZodOptional<z.ZodObject<{
                traceId: z.ZodOptional<z.ZodString>;
                spanId: z.ZodOptional<z.ZodString>;
                parentSpanId: z.ZodOptional<z.ZodString>;
                metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
            }, z.core.$strip>>;
            offset: z.ZodNumber;
            synchronizerTime: z.ZodObject<{
                synchronizerId: z.ZodString;
                recordTime: z.ZodString;
            }, z.core.$strip>;
        }, z.core.$strip>;
    }, z.core.$strip>;
}, z.core.$strip>, z.ZodObject<{
    Empty: z.ZodObject<{}, z.core.$strip>;
}, z.core.$strip>, z.ZodObject<{
    OffsetCheckpoint: z.ZodObject<{
        value: z.ZodObject<{
            offset: z.ZodNumber;
            synchronizerTimes: z.ZodArray<z.ZodObject<{
                synchronizerId: z.ZodString;
                recordTime: z.ZodString;
            }, z.core.$strip>>;
        }, z.core.$strip>;
    }, z.core.$strip>;
}, z.core.$strip>]>;
/**
 * Completion stream request.
 */
export declare const CompletionStreamRequestSchema: z.ZodObject<{
    userId: z.ZodOptional<z.ZodString>;
    parties: z.ZodArray<z.ZodString>;
    beginExclusive: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
/**
 * Completion stream response.
 */
export declare const CompletionStreamResponseSchema: z.ZodObject<{
    completionResponse: z.ZodUnion<readonly [z.ZodObject<{
        Completion: z.ZodObject<{
            value: z.ZodObject<{
                commandId: z.ZodString;
                status: z.ZodOptional<z.ZodObject<{
                    code: z.ZodNumber;
                    message: z.ZodString;
                    details: z.ZodOptional<z.ZodArray<z.ZodObject<{
                        code: z.ZodNumber;
                        message: z.ZodString;
                        details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                    }, z.core.$strip>>>;
                }, z.core.$strip>>;
                updateId: z.ZodOptional<z.ZodString>;
                userId: z.ZodOptional<z.ZodString>;
                actAs: z.ZodOptional<z.ZodArray<z.ZodString>>;
                submissionId: z.ZodOptional<z.ZodString>;
                deduplicationPeriod: z.ZodUnion<readonly [z.ZodObject<{
                    DeduplicationDuration: z.ZodObject<{
                        seconds: z.ZodNumber;
                    }, z.core.$strip>;
                }, z.core.$strip>, z.ZodObject<{
                    DeduplicationOffset: z.ZodObject<{
                        offset: z.ZodNumber;
                    }, z.core.$strip>;
                }, z.core.$strip>, z.ZodObject<{
                    Empty: z.ZodObject<{}, z.core.$strip>;
                }, z.core.$strip>]>;
                traceContext: z.ZodOptional<z.ZodObject<{
                    traceId: z.ZodOptional<z.ZodString>;
                    spanId: z.ZodOptional<z.ZodString>;
                    parentSpanId: z.ZodOptional<z.ZodString>;
                    metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
                }, z.core.$strip>>;
                offset: z.ZodNumber;
                synchronizerTime: z.ZodObject<{
                    synchronizerId: z.ZodString;
                    recordTime: z.ZodString;
                }, z.core.$strip>;
            }, z.core.$strip>;
        }, z.core.$strip>;
    }, z.core.$strip>, z.ZodObject<{
        Empty: z.ZodObject<{}, z.core.$strip>;
    }, z.core.$strip>, z.ZodObject<{
        OffsetCheckpoint: z.ZodObject<{
            value: z.ZodObject<{
                offset: z.ZodNumber;
                synchronizerTimes: z.ZodArray<z.ZodObject<{
                    synchronizerId: z.ZodString;
                    recordTime: z.ZodString;
                }, z.core.$strip>>;
            }, z.core.$strip>;
        }, z.core.$strip>;
    }, z.core.$strip>]>;
}, z.core.$strip>;
export type JsStatus = z.infer<typeof JsStatusSchema>;
export type DeduplicationPeriod = z.infer<typeof DeduplicationPeriodSchema>;
export type SynchronizerTime = z.infer<typeof SynchronizerTimeSchema>;
export type Completion = z.infer<typeof CompletionSchema>;
export type OffsetCheckpoint = z.infer<typeof OffsetCheckpointSchema>;
export type CompletionResponse = z.infer<typeof CompletionResponseSchema>;
export type CompletionStreamRequest = z.infer<typeof CompletionStreamRequestSchema>;
export type CompletionStreamResponse = z.infer<typeof CompletionStreamResponseSchema>;
//# sourceMappingURL=completions.d.ts.map