import { z } from 'zod';
export declare const TransferEndpointCandidateSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
    kind: z.ZodEnum<{
        tcp: "tcp";
        http: "http";
        https: "https";
    }>;
    url: z.ZodString;
    authorizationToken: z.ZodOptional<z.ZodString>;
    expiresAt: z.ZodNumber;
}, z.core.$strict>], "kind">;
export type TransferEndpointCandidate = z.infer<typeof TransferEndpointCandidateSchema>;
export declare const TransferChunkEnvelopeSchema: z.ZodObject<{
    transferId: z.ZodString;
    kind: z.ZodLiteral<"chunk">;
    sequence: z.ZodNumber;
    payloadBase64: z.ZodString;
    encryptedDataKeyEnvelopeBase64: z.ZodOptional<z.ZodString>;
}, z.core.$strict>;
export type TransferChunkEnvelope = z.infer<typeof TransferChunkEnvelopeSchema>;
export declare const TransferStreamEnvelopeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
    transferId: z.ZodString;
    kind: z.ZodLiteral<"open">;
    manifestHash: z.ZodString;
    recipientPublicKeyBase64: z.ZodString;
    openPayloadBase64: z.ZodOptional<z.ZodString>;
}, z.core.$strict>, z.ZodObject<{
    transferId: z.ZodString;
    kind: z.ZodLiteral<"chunk">;
    sequence: z.ZodNumber;
    payloadBase64: z.ZodString;
    encryptedDataKeyEnvelopeBase64: z.ZodOptional<z.ZodString>;
}, z.core.$strict>, z.ZodObject<{
    transferId: z.ZodString;
    kind: z.ZodLiteral<"ack">;
    nextSequence: z.ZodNumber;
    windowBytes: z.ZodOptional<z.ZodNumber>;
}, z.core.$strict>, z.ZodObject<{
    transferId: z.ZodString;
    kind: z.ZodLiteral<"finish">;
    manifestHash: z.ZodString;
}, z.core.$strict>, z.ZodObject<{
    transferId: z.ZodString;
    kind: z.ZodLiteral<"abort">;
    reason: z.ZodString;
}, z.core.$strict>], "kind">;
export type TransferStreamEnvelope = z.infer<typeof TransferStreamEnvelopeSchema>;
export declare const MachineTransferSendEnvelopeSchema: z.ZodObject<{
    targetMachineId: z.ZodString;
    envelope: z.ZodDiscriminatedUnion<[z.ZodObject<{
        transferId: z.ZodString;
        kind: z.ZodLiteral<"open">;
        manifestHash: z.ZodString;
        recipientPublicKeyBase64: z.ZodString;
        openPayloadBase64: z.ZodOptional<z.ZodString>;
    }, z.core.$strict>, z.ZodObject<{
        transferId: z.ZodString;
        kind: z.ZodLiteral<"chunk">;
        sequence: z.ZodNumber;
        payloadBase64: z.ZodString;
        encryptedDataKeyEnvelopeBase64: z.ZodOptional<z.ZodString>;
    }, z.core.$strict>, z.ZodObject<{
        transferId: z.ZodString;
        kind: z.ZodLiteral<"ack">;
        nextSequence: z.ZodNumber;
        windowBytes: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>, z.ZodObject<{
        transferId: z.ZodString;
        kind: z.ZodLiteral<"finish">;
        manifestHash: z.ZodString;
    }, z.core.$strict>, z.ZodObject<{
        transferId: z.ZodString;
        kind: z.ZodLiteral<"abort">;
        reason: z.ZodString;
    }, z.core.$strict>], "kind">;
}, z.core.$strict>;
export type MachineTransferSendEnvelope = z.infer<typeof MachineTransferSendEnvelopeSchema>;
export declare const MachineTransferReceiveEnvelopeSchema: z.ZodObject<{
    sourceMachineId: z.ZodString;
    targetMachineId: z.ZodString;
    envelope: z.ZodDiscriminatedUnion<[z.ZodObject<{
        transferId: z.ZodString;
        kind: z.ZodLiteral<"open">;
        manifestHash: z.ZodString;
        recipientPublicKeyBase64: z.ZodString;
        openPayloadBase64: z.ZodOptional<z.ZodString>;
    }, z.core.$strict>, z.ZodObject<{
        transferId: z.ZodString;
        kind: z.ZodLiteral<"chunk">;
        sequence: z.ZodNumber;
        payloadBase64: z.ZodString;
        encryptedDataKeyEnvelopeBase64: z.ZodOptional<z.ZodString>;
    }, z.core.$strict>, z.ZodObject<{
        transferId: z.ZodString;
        kind: z.ZodLiteral<"ack">;
        nextSequence: z.ZodNumber;
        windowBytes: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strict>, z.ZodObject<{
        transferId: z.ZodString;
        kind: z.ZodLiteral<"finish">;
        manifestHash: z.ZodString;
    }, z.core.$strict>, z.ZodObject<{
        transferId: z.ZodString;
        kind: z.ZodLiteral<"abort">;
        reason: z.ZodString;
    }, z.core.$strict>], "kind">;
}, z.core.$strict>;
export type MachineTransferReceiveEnvelope = z.infer<typeof MachineTransferReceiveEnvelopeSchema>;
//# sourceMappingURL=transferStream.d.ts.map