import z from 'zod';
import { AciString, DeviceId, PniString, RegistrationId } from '../types';
export declare const PositiveInt: z.ZodNumber;
export declare const AciSchema: z.ZodEffects<z.ZodString, AciString, string>;
export declare const PniSchema: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, PniString, string>;
export declare const ServiceIdSchema: z.ZodEffects<z.ZodString, AciString | PniString, string>;
export declare const RegistrationIdSchema: z.ZodEffects<z.ZodNumber, RegistrationId, number>;
export declare const DeviceIdSchema: z.ZodEffects<z.ZodNumber, DeviceId, number>;
declare const PreKeySchema: z.ZodObject<{
    keyId: z.ZodNumber;
    publicKey: z.ZodString;
}, "strip", z.ZodTypeAny, {
    keyId: number;
    publicKey: string;
}, {
    keyId: number;
    publicKey: string;
}>;
export type ServerPreKey = z.infer<typeof PreKeySchema>;
declare const SignedPreKeySchema: z.ZodObject<{
    keyId: z.ZodNumber;
    publicKey: z.ZodString;
    signature: z.ZodString;
}, "strip", z.ZodTypeAny, {
    keyId: number;
    publicKey: string;
    signature: string;
}, {
    keyId: number;
    publicKey: string;
    signature: string;
}>;
export type ServerSignedPreKey = z.infer<typeof SignedPreKeySchema>;
export declare const DeviceKeysSchema: z.ZodObject<{
    preKeys: z.ZodArray<z.ZodObject<{
        keyId: z.ZodNumber;
        publicKey: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        keyId: number;
        publicKey: string;
    }, {
        keyId: number;
        publicKey: string;
    }>, "many">;
    pqPreKeys: z.ZodOptional<z.ZodArray<z.ZodObject<{
        keyId: z.ZodNumber;
        publicKey: z.ZodString;
        signature: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        keyId: number;
        publicKey: string;
        signature: string;
    }, {
        keyId: number;
        publicKey: string;
        signature: string;
    }>, "many">>;
    pqLastResortPreKey: z.ZodOptional<z.ZodObject<{
        keyId: z.ZodNumber;
        publicKey: z.ZodString;
        signature: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        keyId: number;
        publicKey: string;
        signature: string;
    }, {
        keyId: number;
        publicKey: string;
        signature: string;
    }>>;
    signedPreKey: z.ZodOptional<z.ZodObject<{
        keyId: z.ZodNumber;
        publicKey: z.ZodString;
        signature: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        keyId: number;
        publicKey: string;
        signature: string;
    }, {
        keyId: number;
        publicKey: string;
        signature: string;
    }>>;
}, "strip", z.ZodTypeAny, {
    preKeys: {
        keyId: number;
        publicKey: string;
    }[];
    signedPreKey?: {
        keyId: number;
        publicKey: string;
        signature: string;
    } | undefined;
    pqPreKeys?: {
        keyId: number;
        publicKey: string;
        signature: string;
    }[] | undefined;
    pqLastResortPreKey?: {
        keyId: number;
        publicKey: string;
        signature: string;
    } | undefined;
}, {
    preKeys: {
        keyId: number;
        publicKey: string;
    }[];
    signedPreKey?: {
        keyId: number;
        publicKey: string;
        signature: string;
    } | undefined;
    pqPreKeys?: {
        keyId: number;
        publicKey: string;
        signature: string;
    }[] | undefined;
    pqLastResortPreKey?: {
        keyId: number;
        publicKey: string;
        signature: string;
    } | undefined;
}>;
export type DeviceKeys = z.infer<typeof DeviceKeysSchema>;
export declare const MessageSchema: z.ZodObject<{
    type: z.ZodNumber;
    destinationDeviceId: z.ZodEffects<z.ZodNumber, DeviceId, number>;
    destinationRegistrationId: z.ZodEffects<z.ZodNumber, RegistrationId, number>;
    content: z.ZodString;
}, "strip", z.ZodTypeAny, {
    type: number;
    destinationDeviceId: number & {
        __device_id: never;
    };
    destinationRegistrationId: number & {
        __reg_id: never;
    };
    content: string;
}, {
    type: number;
    destinationDeviceId: number;
    destinationRegistrationId: number;
    content: string;
}>;
export type Message = z.infer<typeof MessageSchema>;
export declare const MessageListSchema: z.ZodObject<{
    messages: z.ZodArray<z.ZodObject<{
        type: z.ZodNumber;
        destinationDeviceId: z.ZodEffects<z.ZodNumber, DeviceId, number>;
        destinationRegistrationId: z.ZodEffects<z.ZodNumber, RegistrationId, number>;
        content: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: number;
        destinationDeviceId: number & {
            __device_id: never;
        };
        destinationRegistrationId: number & {
            __reg_id: never;
        };
        content: string;
    }, {
        type: number;
        destinationDeviceId: number;
        destinationRegistrationId: number;
        content: string;
    }>, "many">;
    timestamp: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    messages: {
        type: number;
        destinationDeviceId: number & {
            __device_id: never;
        };
        destinationRegistrationId: number & {
            __reg_id: never;
        };
        content: string;
    }[];
    timestamp: number;
}, {
    messages: {
        type: number;
        destinationDeviceId: number;
        destinationRegistrationId: number;
        content: string;
    }[];
    timestamp: number;
}>;
export type MessageList = z.infer<typeof MessageListSchema>;
export declare const AtomicLinkingDataSchema: z.ZodObject<{
    verificationCode: z.ZodString;
    accountAttributes: z.ZodObject<{
        fetchesMessages: z.ZodBoolean;
        registrationId: z.ZodEffects<z.ZodNumber, RegistrationId, number>;
        pniRegistrationId: z.ZodEffects<z.ZodNumber, RegistrationId, number>;
        name: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        registrationId: number & {
            __reg_id: never;
        };
        pniRegistrationId: number & {
            __reg_id: never;
        };
        name: string;
        fetchesMessages: boolean;
    }, {
        registrationId: number;
        pniRegistrationId: number;
        name: string;
        fetchesMessages: boolean;
    }>;
    aciSignedPreKey: z.ZodObject<{
        keyId: z.ZodNumber;
        publicKey: z.ZodString;
        signature: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        keyId: number;
        publicKey: string;
        signature: string;
    }, {
        keyId: number;
        publicKey: string;
        signature: string;
    }>;
    pniSignedPreKey: z.ZodObject<{
        keyId: z.ZodNumber;
        publicKey: z.ZodString;
        signature: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        keyId: number;
        publicKey: string;
        signature: string;
    }, {
        keyId: number;
        publicKey: string;
        signature: string;
    }>;
    aciPqLastResortPreKey: z.ZodObject<{
        keyId: z.ZodNumber;
        publicKey: z.ZodString;
        signature: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        keyId: number;
        publicKey: string;
        signature: string;
    }, {
        keyId: number;
        publicKey: string;
        signature: string;
    }>;
    pniPqLastResortPreKey: z.ZodObject<{
        keyId: z.ZodNumber;
        publicKey: z.ZodString;
        signature: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        keyId: number;
        publicKey: string;
        signature: string;
    }, {
        keyId: number;
        publicKey: string;
        signature: string;
    }>;
}, "strip", z.ZodTypeAny, {
    verificationCode: string;
    accountAttributes: {
        registrationId: number & {
            __reg_id: never;
        };
        pniRegistrationId: number & {
            __reg_id: never;
        };
        name: string;
        fetchesMessages: boolean;
    };
    aciSignedPreKey: {
        keyId: number;
        publicKey: string;
        signature: string;
    };
    pniSignedPreKey: {
        keyId: number;
        publicKey: string;
        signature: string;
    };
    aciPqLastResortPreKey: {
        keyId: number;
        publicKey: string;
        signature: string;
    };
    pniPqLastResortPreKey: {
        keyId: number;
        publicKey: string;
        signature: string;
    };
}, {
    verificationCode: string;
    accountAttributes: {
        registrationId: number;
        pniRegistrationId: number;
        name: string;
        fetchesMessages: boolean;
    };
    aciSignedPreKey: {
        keyId: number;
        publicKey: string;
        signature: string;
    };
    pniSignedPreKey: {
        keyId: number;
        publicKey: string;
        signature: string;
    };
    aciPqLastResortPreKey: {
        keyId: number;
        publicKey: string;
        signature: string;
    };
    pniPqLastResortPreKey: {
        keyId: number;
        publicKey: string;
        signature: string;
    };
}>;
export declare const UpdateProfileSchema: z.ZodObject<{
    commitment: z.ZodString;
    version: z.ZodString;
    name: z.ZodString;
    aboutEmoji: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    about: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    paymentAddress: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    avatar: z.ZodBoolean;
    sameAvatar: z.ZodBoolean;
    badgeIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
    phoneNumberSharing: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    name: string;
    version: string;
    commitment: string;
    avatar: boolean;
    sameAvatar: boolean;
    aboutEmoji?: string | null | undefined;
    about?: string | null | undefined;
    paymentAddress?: string | null | undefined;
    badgeIds?: string[] | null | undefined;
    phoneNumberSharing?: string | null | undefined;
}, {
    name: string;
    version: string;
    commitment: string;
    avatar: boolean;
    sameAvatar: boolean;
    aboutEmoji?: string | null | undefined;
    about?: string | null | undefined;
    paymentAddress?: string | null | undefined;
    badgeIds?: string[] | null | undefined;
    phoneNumberSharing?: string | null | undefined;
}>;
export type UploadProfileResponse = string | undefined | {
    acl: string;
    algorithm: string;
    credential: string;
    date: string;
    key: string;
    policy: string;
    signature: string;
};
export declare const RegisterAccountSchema: z.ZodObject<{
    sessionId: z.ZodString;
    recoveryPassword: z.ZodOptional<z.ZodString>;
    accountAttributes: z.ZodObject<{
        fetchesMessages: z.ZodBoolean;
        registrationId: z.ZodEffects<z.ZodNumber, RegistrationId, number>;
        pniRegistrationId: z.ZodEffects<z.ZodNumber, RegistrationId, number>;
        name: z.ZodOptional<z.ZodString>;
        capabilities: z.ZodObject<{
            attachmentBackfill: z.ZodBoolean;
            spqr: z.ZodBoolean;
            usernameChangeSyncMessage: z.ZodBoolean;
        }, "strip", z.ZodTypeAny, {
            attachmentBackfill: boolean;
            spqr: boolean;
            usernameChangeSyncMessage: boolean;
        }, {
            attachmentBackfill: boolean;
            spqr: boolean;
            usernameChangeSyncMessage: boolean;
        }>;
        registrationLock: z.ZodOptional<z.ZodString>;
        unidentifiedAccessKey: z.ZodArray<z.ZodNumber, "many">;
        unrestrictedUnidentifiedAccess: z.ZodBoolean;
        discoverableByPhoneNumber: z.ZodBoolean;
        recoveryPassword: z.ZodString;
        phoneNumberIdentityRegistrationId: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        registrationId: number & {
            __reg_id: never;
        };
        pniRegistrationId: number & {
            __reg_id: never;
        };
        fetchesMessages: boolean;
        recoveryPassword: string;
        capabilities: {
            attachmentBackfill: boolean;
            spqr: boolean;
            usernameChangeSyncMessage: boolean;
        };
        unidentifiedAccessKey: number[];
        unrestrictedUnidentifiedAccess: boolean;
        discoverableByPhoneNumber: boolean;
        name?: string | undefined;
        registrationLock?: string | undefined;
        phoneNumberIdentityRegistrationId?: string | undefined;
    }, {
        registrationId: number;
        pniRegistrationId: number;
        fetchesMessages: boolean;
        recoveryPassword: string;
        capabilities: {
            attachmentBackfill: boolean;
            spqr: boolean;
            usernameChangeSyncMessage: boolean;
        };
        unidentifiedAccessKey: number[];
        unrestrictedUnidentifiedAccess: boolean;
        discoverableByPhoneNumber: boolean;
        name?: string | undefined;
        registrationLock?: string | undefined;
        phoneNumberIdentityRegistrationId?: string | undefined;
    }>;
    skipDeviceTransfer: z.ZodBoolean;
    aciIdentityKey: z.ZodString;
    pniIdentityKey: z.ZodString;
    aciSignedPreKey: z.ZodObject<{
        keyId: z.ZodNumber;
        publicKey: z.ZodString;
        signature: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        keyId: number;
        publicKey: string;
        signature: string;
    }, {
        keyId: number;
        publicKey: string;
        signature: string;
    }>;
    pniSignedPreKey: z.ZodObject<{
        keyId: z.ZodNumber;
        publicKey: z.ZodString;
        signature: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        keyId: number;
        publicKey: string;
        signature: string;
    }, {
        keyId: number;
        publicKey: string;
        signature: string;
    }>;
    aciPqLastResortPreKey: z.ZodObject<{
        keyId: z.ZodNumber;
        publicKey: z.ZodString;
        signature: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        keyId: number;
        publicKey: string;
        signature: string;
    }, {
        keyId: number;
        publicKey: string;
        signature: string;
    }>;
    pniPqLastResortPreKey: z.ZodObject<{
        keyId: z.ZodNumber;
        publicKey: z.ZodString;
        signature: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        keyId: number;
        publicKey: string;
        signature: string;
    }, {
        keyId: number;
        publicKey: string;
        signature: string;
    }>;
    apnToken: z.ZodOptional<z.ZodObject<{
        apnRegistrationId: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        apnRegistrationId: string;
    }, {
        apnRegistrationId: string;
    }>>;
    gcmToken: z.ZodOptional<z.ZodObject<{
        gcmRegistrationId: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        gcmRegistrationId: string;
    }, {
        gcmRegistrationId: string;
    }>>;
}, "strip", z.ZodTypeAny, {
    accountAttributes: {
        registrationId: number & {
            __reg_id: never;
        };
        pniRegistrationId: number & {
            __reg_id: never;
        };
        fetchesMessages: boolean;
        recoveryPassword: string;
        capabilities: {
            attachmentBackfill: boolean;
            spqr: boolean;
            usernameChangeSyncMessage: boolean;
        };
        unidentifiedAccessKey: number[];
        unrestrictedUnidentifiedAccess: boolean;
        discoverableByPhoneNumber: boolean;
        name?: string | undefined;
        registrationLock?: string | undefined;
        phoneNumberIdentityRegistrationId?: string | undefined;
    };
    aciSignedPreKey: {
        keyId: number;
        publicKey: string;
        signature: string;
    };
    pniSignedPreKey: {
        keyId: number;
        publicKey: string;
        signature: string;
    };
    aciPqLastResortPreKey: {
        keyId: number;
        publicKey: string;
        signature: string;
    };
    pniPqLastResortPreKey: {
        keyId: number;
        publicKey: string;
        signature: string;
    };
    sessionId: string;
    skipDeviceTransfer: boolean;
    aciIdentityKey: string;
    pniIdentityKey: string;
    recoveryPassword?: string | undefined;
    apnToken?: {
        apnRegistrationId: string;
    } | undefined;
    gcmToken?: {
        gcmRegistrationId: string;
    } | undefined;
}, {
    accountAttributes: {
        registrationId: number;
        pniRegistrationId: number;
        fetchesMessages: boolean;
        recoveryPassword: string;
        capabilities: {
            attachmentBackfill: boolean;
            spqr: boolean;
            usernameChangeSyncMessage: boolean;
        };
        unidentifiedAccessKey: number[];
        unrestrictedUnidentifiedAccess: boolean;
        discoverableByPhoneNumber: boolean;
        name?: string | undefined;
        registrationLock?: string | undefined;
        phoneNumberIdentityRegistrationId?: string | undefined;
    };
    aciSignedPreKey: {
        keyId: number;
        publicKey: string;
        signature: string;
    };
    pniSignedPreKey: {
        keyId: number;
        publicKey: string;
        signature: string;
    };
    aciPqLastResortPreKey: {
        keyId: number;
        publicKey: string;
        signature: string;
    };
    pniPqLastResortPreKey: {
        keyId: number;
        publicKey: string;
        signature: string;
    };
    sessionId: string;
    skipDeviceTransfer: boolean;
    aciIdentityKey: string;
    pniIdentityKey: string;
    recoveryPassword?: string | undefined;
    apnToken?: {
        apnRegistrationId: string;
    } | undefined;
    gcmToken?: {
        gcmRegistrationId: string;
    } | undefined;
}>;
export type RegisterAccountResponse = {
    uuid: string;
    number: string;
    pni: string;
    usernameHash?: string;
    usernameLinkHandle?: string;
    storageCapable: boolean;
    entitlements: {
        badges: Array<{
            id: string;
            expirationSeconds: number;
            visible: boolean;
        }>;
        backup?: {
            backupLevel: number;
            expirationSeconds: number;
        };
    };
    reregistration: boolean;
};
export declare const TransportSchema: z.ZodUnion<[z.ZodLiteral<"sms">, z.ZodLiteral<"voice">]>;
export type Transport = z.infer<typeof TransportSchema>;
export declare const ClientTypeSchema: z.ZodUnion<[z.ZodUnion<[z.ZodLiteral<"desktop">, z.ZodLiteral<"ios">]>, z.ZodLiteral<"android">]>;
export declare const ModifyVerificationSessionSchema: z.ZodObject<{
    pushToken: z.ZodOptional<z.ZodString>;
    pushTokenType: z.ZodOptional<z.ZodString>;
    pushChallenge: z.ZodOptional<z.ZodString>;
    captcha: z.ZodOptional<z.ZodString>;
    mcc: z.ZodOptional<z.ZodString>;
    mnc: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    pushToken?: string | undefined;
    pushTokenType?: string | undefined;
    pushChallenge?: string | undefined;
    captcha?: string | undefined;
    mcc?: string | undefined;
    mnc?: string | undefined;
}, {
    pushToken?: string | undefined;
    pushTokenType?: string | undefined;
    pushChallenge?: string | undefined;
    captcha?: string | undefined;
    mcc?: string | undefined;
    mnc?: string | undefined;
}>;
export declare const CreateVerificationSessionSchema: z.ZodObject<{
    pushToken: z.ZodOptional<z.ZodString>;
    pushTokenType: z.ZodOptional<z.ZodString>;
    pushChallenge: z.ZodOptional<z.ZodString>;
    captcha: z.ZodOptional<z.ZodString>;
    mcc: z.ZodOptional<z.ZodString>;
    mnc: z.ZodOptional<z.ZodString>;
    number: z.ZodString;
}, "strip", z.ZodTypeAny, {
    number: string;
    pushToken?: string | undefined;
    pushTokenType?: string | undefined;
    pushChallenge?: string | undefined;
    captcha?: string | undefined;
    mcc?: string | undefined;
    mnc?: string | undefined;
}, {
    number: string;
    pushToken?: string | undefined;
    pushTokenType?: string | undefined;
    pushChallenge?: string | undefined;
    captcha?: string | undefined;
    mcc?: string | undefined;
    mnc?: string | undefined;
}>;
export type VerificationSession = {
    id: string;
    nextSms: number | null;
    nextCall: number | null;
    nextVerificationAttempt: number | null;
    allowedToRequestCode: boolean;
    requestedInformation: Array<'pushChallenges' | 'captcha'>;
    verified: boolean;
};
export type VerificationSessionStorage = {
    number: string;
    session: VerificationSession;
    lastRequestedCode?: string;
    lastRequestedTransport?: Transport;
};
export declare const RequestVerificationCodeSchema: z.ZodObject<{
    transport: z.ZodUnion<[z.ZodLiteral<"sms">, z.ZodLiteral<"voice">]>;
    client: z.ZodUnion<[z.ZodUnion<[z.ZodLiteral<"desktop">, z.ZodLiteral<"ios">]>, z.ZodLiteral<"android">]>;
}, "strip", z.ZodTypeAny, {
    transport: "sms" | "voice";
    client: "desktop" | "ios" | "android";
}, {
    transport: "sms" | "voice";
    client: "desktop" | "ios" | "android";
}>;
export declare const SubmitVerificationCodeSchema: z.ZodObject<{
    code: z.ZodString;
}, "strip", z.ZodTypeAny, {
    code: string;
}, {
    code: string;
}>;
export declare const GroupStateSchema: z.ZodObject<{
    publicKey: z.ZodType<Uint8Array<ArrayBuffer>, z.ZodTypeDef, Uint8Array<ArrayBuffer>>;
    version: z.ZodLiteral<0>;
    accessControl: z.ZodObject<{
        attributes: z.ZodNumber;
        members: z.ZodNumber;
        addFromInviteLink: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        attributes: number;
        members: number;
        addFromInviteLink: number;
    }, {
        attributes: number;
        members: number;
        addFromInviteLink: number;
    }>;
    members: z.ZodArray<z.ZodUnknown, "many">;
}, "strip", z.ZodTypeAny, {
    publicKey: Uint8Array<ArrayBuffer>;
    version: 0;
    accessControl: {
        attributes: number;
        members: number;
        addFromInviteLink: number;
    };
    members: unknown[];
}, {
    publicKey: Uint8Array<ArrayBuffer>;
    version: 0;
    accessControl: {
        attributes: number;
        members: number;
        addFromInviteLink: number;
    };
    members: unknown[];
}>;
export declare const UsernameReservationSchema: z.ZodObject<{
    usernameHashes: z.ZodArray<z.ZodEffects<z.ZodString, Buffer<ArrayBuffer>, string>, "many">;
}, "strip", z.ZodTypeAny, {
    usernameHashes: Buffer<ArrayBuffer>[];
}, {
    usernameHashes: string[];
}>;
export type UsernameReservation = z.infer<typeof UsernameReservationSchema>;
export declare const UsernameConfirmationSchema: z.ZodObject<{
    usernameHash: z.ZodEffects<z.ZodString, Buffer<ArrayBuffer>, string>;
    zkProof: z.ZodEffects<z.ZodString, Buffer<ArrayBuffer>, string>;
    encryptedUsername: z.ZodOptional<z.ZodEffects<z.ZodString, Buffer<ArrayBuffer>, string>>;
}, "strip", z.ZodTypeAny, {
    usernameHash: Buffer<ArrayBuffer>;
    zkProof: Buffer<ArrayBuffer>;
    encryptedUsername?: Buffer<ArrayBuffer> | undefined;
}, {
    usernameHash: string;
    zkProof: string;
    encryptedUsername?: string | undefined;
}>;
export type UsernameConfirmation = z.infer<typeof UsernameConfirmationSchema>;
export declare const PutUsernameLinkSchema: z.ZodObject<{
    usernameLinkEncryptedValue: z.ZodEffects<z.ZodString, Buffer<ArrayBuffer>, string>;
}, "strip", z.ZodTypeAny, {
    usernameLinkEncryptedValue: Buffer<ArrayBuffer>;
}, {
    usernameLinkEncryptedValue: string;
}>;
export type PutUsernameLink = z.infer<typeof PutUsernameLinkSchema>;
export declare const CreateCallLinkAuthSchema: z.ZodObject<{
    createCallLinkCredentialRequest: z.ZodEffects<z.ZodString, Buffer<ArrayBuffer>, string>;
}, "strip", z.ZodTypeAny, {
    createCallLinkCredentialRequest: Buffer<ArrayBuffer>;
}, {
    createCallLinkCredentialRequest: string;
}>;
export type CreateCallLinkAuth = z.infer<typeof CreateCallLinkAuthSchema>;
export declare const CreateCallLinkSchema: z.ZodObject<{
    adminPasskey: z.ZodEffects<z.ZodString, Buffer<ArrayBuffer>, string>;
    zkparams: z.ZodEffects<z.ZodString, Buffer<ArrayBuffer>, string>;
}, "strip", z.ZodTypeAny, {
    adminPasskey: Buffer<ArrayBuffer>;
    zkparams: Buffer<ArrayBuffer>;
}, {
    adminPasskey: string;
    zkparams: string;
}>;
export type CreateCallLink = z.infer<typeof CreateCallLinkSchema>;
export declare const UpdateCallLinkSchema: z.ZodObject<{
    adminPasskey: z.ZodEffects<z.ZodString, Buffer<ArrayBuffer>, string>;
    name: z.ZodOptional<z.ZodString>;
    restrictions: z.ZodOptional<z.ZodEnum<["none", "adminApproval"]>>;
    revoked: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    adminPasskey: Buffer<ArrayBuffer>;
    name?: string | undefined;
    restrictions?: "none" | "adminApproval" | undefined;
    revoked?: boolean | undefined;
}, {
    adminPasskey: string;
    name?: string | undefined;
    restrictions?: "none" | "adminApproval" | undefined;
    revoked?: boolean | undefined;
}>;
export type UpdateCallLink = z.infer<typeof UpdateCallLinkSchema>;
export declare const DeleteCallLinkSchema: z.ZodObject<{
    adminPasskey: z.ZodEffects<z.ZodString, Buffer<ArrayBuffer>, string>;
}, "strip", z.ZodTypeAny, {
    adminPasskey: Buffer<ArrayBuffer>;
}, {
    adminPasskey: string;
}>;
export type DeleteCallLink = z.infer<typeof DeleteCallLinkSchema>;
export declare const SetBackupIdSchema: z.ZodObject<{
    messagesBackupAuthCredentialRequest: z.ZodEffects<z.ZodString, Buffer<ArrayBuffer>, string>;
    mediaBackupAuthCredentialRequest: z.ZodEffects<z.ZodString, Buffer<ArrayBuffer>, string>;
}, "strip", z.ZodTypeAny, {
    messagesBackupAuthCredentialRequest: Buffer<ArrayBuffer>;
    mediaBackupAuthCredentialRequest: Buffer<ArrayBuffer>;
}, {
    messagesBackupAuthCredentialRequest: string;
    mediaBackupAuthCredentialRequest: string;
}>;
export type SetBackupId = z.infer<typeof SetBackupIdSchema>;
export declare const BackupHeadersSchema: z.ZodObject<{
    'x-signal-zk-auth': z.ZodEffects<z.ZodString, Buffer<ArrayBuffer>, string>;
    'x-signal-zk-auth-signature': z.ZodEffects<z.ZodString, Buffer<ArrayBuffer>, string>;
}, "strip", z.ZodTypeAny, {
    'x-signal-zk-auth': Buffer<ArrayBuffer>;
    'x-signal-zk-auth-signature': Buffer<ArrayBuffer>;
}, {
    'x-signal-zk-auth': string;
    'x-signal-zk-auth-signature': string;
}>;
export type BackupHeaders = z.infer<typeof BackupHeadersSchema>;
export declare const SetBackupKeySchema: z.ZodObject<{
    backupIdPublicKey: z.ZodEffects<z.ZodString, Buffer<ArrayBuffer>, string>;
}, "strip", z.ZodTypeAny, {
    backupIdPublicKey: Buffer<ArrayBuffer>;
}, {
    backupIdPublicKey: string;
}>;
export type SetBackupKey = z.infer<typeof SetBackupKeySchema>;
export declare const BackupMediaBatchSchema: z.ZodObject<{
    items: z.ZodArray<z.ZodObject<{
        sourceAttachment: z.ZodObject<{
            cdn: z.ZodNumber;
            key: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            key: string;
            cdn: number;
        }, {
            key: string;
            cdn: number;
        }>;
        objectLength: z.ZodNumber;
        mediaId: z.ZodString;
        hmacKey: z.ZodEffects<z.ZodString, Buffer<ArrayBuffer>, string>;
        encryptionKey: z.ZodEffects<z.ZodString, Buffer<ArrayBuffer>, string>;
    }, "strip", z.ZodTypeAny, {
        sourceAttachment: {
            key: string;
            cdn: number;
        };
        objectLength: number;
        mediaId: string;
        hmacKey: Buffer<ArrayBuffer>;
        encryptionKey: Buffer<ArrayBuffer>;
    }, {
        sourceAttachment: {
            key: string;
            cdn: number;
        };
        objectLength: number;
        mediaId: string;
        hmacKey: string;
        encryptionKey: string;
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    items: {
        sourceAttachment: {
            key: string;
            cdn: number;
        };
        objectLength: number;
        mediaId: string;
        hmacKey: Buffer<ArrayBuffer>;
        encryptionKey: Buffer<ArrayBuffer>;
    }[];
}, {
    items: {
        sourceAttachment: {
            key: string;
            cdn: number;
        };
        objectLength: number;
        mediaId: string;
        hmacKey: string;
        encryptionKey: string;
    }[];
}>;
export type BackupMediaBatch = z.infer<typeof BackupMediaBatchSchema>;
export {};
