/**
 * Zod schemas for validating postMessage responses from the iframe.
 *
 * Every response crossing the iframe boundary is validated at runtime to
 * prevent a compromised or buggy iframe from injecting arbitrary data.
 */
import { z } from 'zod';
/**
 * serde-wasm-bindgen serializes Rust HashMap/BTreeMap as a JS Map, but Zod's
 * z.record() expects a plain object. Walk the data and convert any Map instances
 * to plain objects before Zod validation.
 */
export declare function convertMapsToObjects(value: unknown): unknown;
export declare function parseResponse<T>(schema: z.ZodType<T>, data: unknown, opName: string): T;
export declare const StoredSessionSchema: z.ZodObject<{
    token: z.ZodString;
    expirySecs: z.ZodNumber;
    walletAddress: z.ZodString;
    vaultExists: z.ZodBoolean;
    chainRegistrations: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    token: string;
    vaultExists: boolean;
    expirySecs: number;
    walletAddress: string;
    chainRegistrations?: Record<string, string> | undefined;
}, {
    token: string;
    vaultExists: boolean;
    expirySecs: number;
    walletAddress: string;
    chainRegistrations?: Record<string, string> | undefined;
}>;
export declare const KeyStatusSchema: z.ZodEnum<["none", "locked", "ready"]>;
export declare const PublicKeysSchema: z.ZodObject<{
    mpk: z.ZodString;
    privacyAddress: z.ZodString;
    viewingPublicKey: z.ZodObject<{
        x: z.ZodString;
        y: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        x: string;
        y: string;
    }, {
        x: string;
        y: string;
    }>;
    nullifyingPublicKey: z.ZodObject<{
        x: z.ZodString;
        y: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        x: string;
        y: string;
    }, {
        x: string;
        y: string;
    }>;
    accountId: z.ZodString;
    accountSalt: z.ZodString;
    authPkX: z.ZodString;
    authPkY: z.ZodString;
}, "strip", z.ZodTypeAny, {
    privacyAddress: string;
    mpk: string;
    accountId: string;
    viewingPublicKey: {
        x: string;
        y: string;
    };
    nullifyingPublicKey: {
        x: string;
        y: string;
    };
    accountSalt: string;
    authPkX: string;
    authPkY: string;
}, {
    privacyAddress: string;
    mpk: string;
    accountId: string;
    viewingPublicKey: {
        x: string;
        y: string;
    };
    nullifyingPublicKey: {
        x: string;
        y: string;
    };
    accountSalt: string;
    authPkX: string;
    authPkY: string;
}>;
export declare const AuthenticateResultSchema: z.ZodObject<{
    status: z.ZodEnum<["authenticated", "credentialRequired", "mnemonicGenerated"]>;
    privacyAddress: z.ZodOptional<z.ZodString>;
    mpk: z.ZodOptional<z.ZodString>;
    mnemonic: z.ZodOptional<z.ZodString>;
    isNewUser: z.ZodOptional<z.ZodBoolean>;
    chainRegistrations: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    action: z.ZodOptional<z.ZodEnum<["setup", "unlock"]>>;
    unlockType: z.ZodOptional<z.ZodEnum<["pin", "password"]>>;
}, "strip", z.ZodTypeAny, {
    status: "authenticated" | "credentialRequired" | "mnemonicGenerated";
    privacyAddress?: string | undefined;
    mpk?: string | undefined;
    mnemonic?: string | undefined;
    chainRegistrations?: Record<string, string> | undefined;
    isNewUser?: boolean | undefined;
    action?: "setup" | "unlock" | undefined;
    unlockType?: "pin" | "password" | undefined;
}, {
    status: "authenticated" | "credentialRequired" | "mnemonicGenerated";
    privacyAddress?: string | undefined;
    mpk?: string | undefined;
    mnemonic?: string | undefined;
    chainRegistrations?: Record<string, string> | undefined;
    isNewUser?: boolean | undefined;
    action?: "setup" | "unlock" | undefined;
    unlockType?: "pin" | "password" | undefined;
}>;
export declare const ShieldCommitmentResultSchema: z.ZodObject<{
    commitment: z.ZodString;
    randomIn: z.ZodString;
    npk: z.ZodString;
}, "strip", z.ZodTypeAny, {
    commitment: string;
    randomIn: string;
    npk: string;
}, {
    commitment: string;
    randomIn: string;
    npk: string;
}>;
export declare const DepositCiphertextResultSchema: z.ZodObject<{
    viewingKey: z.ZodString;
    teeWrapKey: z.ZodString;
    receiverWrapKey: z.ZodString;
    ct0: z.ZodString;
    ct1: z.ZodString;
    ct2: z.ZodString;
}, "strip", z.ZodTypeAny, {
    viewingKey: string;
    teeWrapKey: string;
    receiverWrapKey: string;
    ct0: string;
    ct1: string;
    ct2: string;
}, {
    viewingKey: string;
    teeWrapKey: string;
    receiverWrapKey: string;
    ct0: string;
    ct1: string;
    ct2: string;
}>;
export declare const NullifiersResultSchema: z.ZodArray<z.ZodString, "many">;
export declare const HexResultSchema: z.ZodString;
export declare const EcdhKeysResultSchema: z.ZodObject<{
    viewingKey: z.ZodString;
    teeWrapKey: z.ZodString;
    receiverWrapKey: z.ZodString;
    blindingScalar: z.ZodString;
    ephTxEncKey: z.ZodString;
}, "strip", z.ZodTypeAny, {
    viewingKey: string;
    teeWrapKey: string;
    receiverWrapKey: string;
    blindingScalar: string;
    ephTxEncKey: string;
}, {
    viewingKey: string;
    teeWrapKey: string;
    receiverWrapKey: string;
    blindingScalar: string;
    ephTxEncKey: string;
}>;
export declare const TransferCiphertextResultSchema: z.ZodObject<{
    ct0: z.ZodString;
    ct1: z.ZodString;
    ct2: z.ZodString;
    ct3: z.ZodString;
}, "strip", z.ZodTypeAny, {
    ct0: string;
    ct1: string;
    ct2: string;
    ct3: string;
}, {
    ct0: string;
    ct1: string;
    ct2: string;
    ct3: string;
}>;
export declare const SpendingSignatureResultSchema: z.ZodObject<{
    authPkX: z.ZodString;
    authPkY: z.ZodString;
    sigR8X: z.ZodString;
    sigR8Y: z.ZodString;
    sigS: z.ZodString;
}, "strip", z.ZodTypeAny, {
    authPkX: string;
    authPkY: string;
    sigR8X: string;
    sigR8Y: string;
    sigS: string;
}, {
    authPkX: string;
    authPkY: string;
    sigR8X: string;
    sigR8Y: string;
    sigS: string;
}>;
export declare const DigestResultSchema: z.ZodObject<{
    digestHi: z.ZodString;
    digestLo: z.ZodString;
}, "strip", z.ZodTypeAny, {
    digestHi: string;
    digestLo: string;
}, {
    digestHi: string;
    digestLo: string;
}>;
export declare const ViewAuthSignatureResultSchema: z.ZodObject<{
    signature: z.ZodString;
    viewingPublicKey: z.ZodObject<{
        x: z.ZodString;
        y: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        x: string;
        y: string;
    }, {
        x: string;
        y: string;
    }>;
}, "strip", z.ZodTypeAny, {
    signature: string;
    viewingPublicKey: {
        x: string;
        y: string;
    };
}, {
    signature: string;
    viewingPublicKey: {
        x: string;
        y: string;
    };
}>;
export declare const RegistrationDataSchema: z.ZodObject<{
    authPkX: z.ZodString;
    authPkY: z.ZodString;
}, "strip", z.ZodTypeAny, {
    authPkX: string;
    authPkY: string;
}, {
    authPkX: string;
    authPkY: string;
}>;
//# sourceMappingURL=schemas.d.ts.map