import { z } from "zod";
export declare const MessageStatusSchema: z.ZodEnum<["pending", "confirmed", "read", "failed", "rejected", "decrypted", "decrypt_failed"]>;
export declare const MessageDirectionSchema: z.ZodEnum<["sent", "received"]>;
export declare const MessageTypeSchema: z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<3>]>;
export declare const MessageContentTypeSchema: z.ZodEnum<["text", "zip", "wts", "wip"]>;
export declare const MessageTimeFieldSchema: z.ZodEnum<["createdAt", "receivedAt", "serverTimestamp"]>;
export declare const RangeTypeSchema: z.ZodEnum<["time", "messageId", "seqIndex"]>;
export declare const ZipMetadataSchema: z.ZodObject<{
    fileName: z.ZodString;
    fileSize: z.ZodNumber;
    fileHash: z.ZodString;
    contentType: z.ZodEnum<["text", "zip", "wts", "wip"]>;
    localCachePath: z.ZodOptional<z.ZodString>;
    downloadedAt: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    fileName: string;
    fileSize: number;
    fileHash: string;
    contentType: "text" | "wip" | "zip" | "wts";
    localCachePath?: string | undefined;
    downloadedAt?: number | undefined;
}, {
    fileName: string;
    fileSize: number;
    fileHash: string;
    contentType: "text" | "wip" | "zip" | "wts";
    localCachePath?: string | undefined;
    downloadedAt?: number | undefined;
}>;
export declare const MessageSchema: z.ZodObject<{
    messageId: z.ZodString;
    fromAddress: z.ZodString;
    toAddress: z.ZodString;
    plaintextHash: z.ZodString;
    plaintext: z.ZodOptional<z.ZodString>;
    guardAddress: z.ZodOptional<z.ZodString>;
    passportAddress: z.ZodOptional<z.ZodString>;
    lastReceivedLeafIndex: z.ZodOptional<z.ZodNumber>;
    direction: z.ZodEnum<["sent", "received"]>;
    status: z.ZodEnum<["pending", "confirmed", "read", "failed", "rejected", "decrypted", "decrypt_failed"]>;
    msgType: z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<3>]>;
    leafIndex: z.ZodOptional<z.ZodNumber>;
    prevRoot: z.ZodOptional<z.ZodString>;
    newRoot: z.ZodOptional<z.ZodString>;
    serverSignature: z.ZodOptional<z.ZodString>;
    serverTimestamp: z.ZodOptional<z.ZodNumber>;
    serverPublicKey: z.ZodOptional<z.ZodString>;
    arkConfirmed: z.ZodOptional<z.ZodObject<{
        recipient: z.ZodString;
        recipientPublicKey: z.ZodString;
        signature: z.ZodString;
        timestamp: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        signature: string;
        recipient: string;
        recipientPublicKey: string;
        timestamp: number;
    }, {
        signature: string;
        recipient: string;
        recipientPublicKey: string;
        timestamp: number;
    }>>;
    createdAt: z.ZodNumber;
    receivedAt: z.ZodOptional<z.ZodNumber>;
    zipMetadata: z.ZodOptional<z.ZodObject<{
        fileName: z.ZodString;
        fileSize: z.ZodNumber;
        fileHash: z.ZodString;
        contentType: z.ZodEnum<["text", "zip", "wts", "wip"]>;
        localCachePath: z.ZodOptional<z.ZodString>;
        downloadedAt: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        fileName: string;
        fileSize: number;
        fileHash: string;
        contentType: "text" | "wip" | "zip" | "wts";
        localCachePath?: string | undefined;
        downloadedAt?: number | undefined;
    }, {
        fileName: string;
        fileSize: number;
        fileHash: string;
        contentType: "text" | "wip" | "zip" | "wts";
        localCachePath?: string | undefined;
        downloadedAt?: number | undefined;
    }>>;
    proof: z.ZodOptional<z.ZodString>;
    decryptError: z.ZodOptional<z.ZodString>;
    decryptAttempts: z.ZodOptional<z.ZodNumber>;
    lastDecryptAttemptAt: z.ZodOptional<z.ZodNumber>;
    viewedAt: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
    createdAt: number;
    messageId: string;
    fromAddress: string;
    toAddress: string;
    plaintextHash: string;
    direction: "received" | "sent";
    msgType: 1 | 3;
    proof?: string | undefined;
    receivedAt?: number | undefined;
    serverTimestamp?: number | undefined;
    plaintext?: string | undefined;
    guardAddress?: string | undefined;
    passportAddress?: string | undefined;
    lastReceivedLeafIndex?: number | undefined;
    leafIndex?: number | undefined;
    prevRoot?: string | undefined;
    newRoot?: string | undefined;
    serverSignature?: string | undefined;
    serverPublicKey?: string | undefined;
    arkConfirmed?: {
        signature: string;
        recipient: string;
        recipientPublicKey: string;
        timestamp: number;
    } | undefined;
    zipMetadata?: {
        fileName: string;
        fileSize: number;
        fileHash: string;
        contentType: "text" | "wip" | "zip" | "wts";
        localCachePath?: string | undefined;
        downloadedAt?: number | undefined;
    } | undefined;
    decryptError?: string | undefined;
    decryptAttempts?: number | undefined;
    lastDecryptAttemptAt?: number | undefined;
    viewedAt?: number | undefined;
}, {
    status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
    createdAt: number;
    messageId: string;
    fromAddress: string;
    toAddress: string;
    plaintextHash: string;
    direction: "received" | "sent";
    msgType: 1 | 3;
    proof?: string | undefined;
    receivedAt?: number | undefined;
    serverTimestamp?: number | undefined;
    plaintext?: string | undefined;
    guardAddress?: string | undefined;
    passportAddress?: string | undefined;
    lastReceivedLeafIndex?: number | undefined;
    leafIndex?: number | undefined;
    prevRoot?: string | undefined;
    newRoot?: string | undefined;
    serverSignature?: string | undefined;
    serverPublicKey?: string | undefined;
    arkConfirmed?: {
        signature: string;
        recipient: string;
        recipientPublicKey: string;
        timestamp: number;
    } | undefined;
    zipMetadata?: {
        fileName: string;
        fileSize: number;
        fileHash: string;
        contentType: "text" | "wip" | "zip" | "wts";
        localCachePath?: string | undefined;
        downloadedAt?: number | undefined;
    } | undefined;
    decryptError?: string | undefined;
    decryptAttempts?: number | undefined;
    lastDecryptAttemptAt?: number | undefined;
    viewedAt?: number | undefined;
}>;
export declare const ConversationInfoSchema: z.ZodObject<{
    peerAddress: z.ZodString;
    lastMessageAt: z.ZodNumber;
    messageCount: z.ZodNumber;
    unreadCount: z.ZodNumber;
    lastMessagePreview: z.ZodOptional<z.ZodString>;
    previewMessages: z.ZodOptional<z.ZodArray<z.ZodObject<{
        messageId: z.ZodString;
        fromAddress: z.ZodString;
        toAddress: z.ZodString;
        plaintextHash: z.ZodString;
        plaintext: z.ZodOptional<z.ZodString>;
        guardAddress: z.ZodOptional<z.ZodString>;
        passportAddress: z.ZodOptional<z.ZodString>;
        lastReceivedLeafIndex: z.ZodOptional<z.ZodNumber>;
        direction: z.ZodEnum<["sent", "received"]>;
        status: z.ZodEnum<["pending", "confirmed", "read", "failed", "rejected", "decrypted", "decrypt_failed"]>;
        msgType: z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<3>]>;
        leafIndex: z.ZodOptional<z.ZodNumber>;
        prevRoot: z.ZodOptional<z.ZodString>;
        newRoot: z.ZodOptional<z.ZodString>;
        serverSignature: z.ZodOptional<z.ZodString>;
        serverTimestamp: z.ZodOptional<z.ZodNumber>;
        serverPublicKey: z.ZodOptional<z.ZodString>;
        arkConfirmed: z.ZodOptional<z.ZodObject<{
            recipient: z.ZodString;
            recipientPublicKey: z.ZodString;
            signature: z.ZodString;
            timestamp: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            signature: string;
            recipient: string;
            recipientPublicKey: string;
            timestamp: number;
        }, {
            signature: string;
            recipient: string;
            recipientPublicKey: string;
            timestamp: number;
        }>>;
        createdAt: z.ZodNumber;
        receivedAt: z.ZodOptional<z.ZodNumber>;
        zipMetadata: z.ZodOptional<z.ZodObject<{
            fileName: z.ZodString;
            fileSize: z.ZodNumber;
            fileHash: z.ZodString;
            contentType: z.ZodEnum<["text", "zip", "wts", "wip"]>;
            localCachePath: z.ZodOptional<z.ZodString>;
            downloadedAt: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            fileName: string;
            fileSize: number;
            fileHash: string;
            contentType: "text" | "wip" | "zip" | "wts";
            localCachePath?: string | undefined;
            downloadedAt?: number | undefined;
        }, {
            fileName: string;
            fileSize: number;
            fileHash: string;
            contentType: "text" | "wip" | "zip" | "wts";
            localCachePath?: string | undefined;
            downloadedAt?: number | undefined;
        }>>;
        proof: z.ZodOptional<z.ZodString>;
        decryptError: z.ZodOptional<z.ZodString>;
        decryptAttempts: z.ZodOptional<z.ZodNumber>;
        lastDecryptAttemptAt: z.ZodOptional<z.ZodNumber>;
        viewedAt: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
        createdAt: number;
        messageId: string;
        fromAddress: string;
        toAddress: string;
        plaintextHash: string;
        direction: "received" | "sent";
        msgType: 1 | 3;
        proof?: string | undefined;
        receivedAt?: number | undefined;
        serverTimestamp?: number | undefined;
        plaintext?: string | undefined;
        guardAddress?: string | undefined;
        passportAddress?: string | undefined;
        lastReceivedLeafIndex?: number | undefined;
        leafIndex?: number | undefined;
        prevRoot?: string | undefined;
        newRoot?: string | undefined;
        serverSignature?: string | undefined;
        serverPublicKey?: string | undefined;
        arkConfirmed?: {
            signature: string;
            recipient: string;
            recipientPublicKey: string;
            timestamp: number;
        } | undefined;
        zipMetadata?: {
            fileName: string;
            fileSize: number;
            fileHash: string;
            contentType: "text" | "wip" | "zip" | "wts";
            localCachePath?: string | undefined;
            downloadedAt?: number | undefined;
        } | undefined;
        decryptError?: string | undefined;
        decryptAttempts?: number | undefined;
        lastDecryptAttemptAt?: number | undefined;
        viewedAt?: number | undefined;
    }, {
        status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
        createdAt: number;
        messageId: string;
        fromAddress: string;
        toAddress: string;
        plaintextHash: string;
        direction: "received" | "sent";
        msgType: 1 | 3;
        proof?: string | undefined;
        receivedAt?: number | undefined;
        serverTimestamp?: number | undefined;
        plaintext?: string | undefined;
        guardAddress?: string | undefined;
        passportAddress?: string | undefined;
        lastReceivedLeafIndex?: number | undefined;
        leafIndex?: number | undefined;
        prevRoot?: string | undefined;
        newRoot?: string | undefined;
        serverSignature?: string | undefined;
        serverPublicKey?: string | undefined;
        arkConfirmed?: {
            signature: string;
            recipient: string;
            recipientPublicKey: string;
            timestamp: number;
        } | undefined;
        zipMetadata?: {
            fileName: string;
            fileSize: number;
            fileHash: string;
            contentType: "text" | "wip" | "zip" | "wts";
            localCachePath?: string | undefined;
            downloadedAt?: number | undefined;
        } | undefined;
        decryptError?: string | undefined;
        decryptAttempts?: number | undefined;
        lastDecryptAttemptAt?: number | undefined;
        viewedAt?: number | undefined;
    }>, "many">>;
}, "strip", z.ZodTypeAny, {
    peerAddress: string;
    lastMessageAt: number;
    messageCount: number;
    unreadCount: number;
    lastMessagePreview?: string | undefined;
    previewMessages?: {
        status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
        createdAt: number;
        messageId: string;
        fromAddress: string;
        toAddress: string;
        plaintextHash: string;
        direction: "received" | "sent";
        msgType: 1 | 3;
        proof?: string | undefined;
        receivedAt?: number | undefined;
        serverTimestamp?: number | undefined;
        plaintext?: string | undefined;
        guardAddress?: string | undefined;
        passportAddress?: string | undefined;
        lastReceivedLeafIndex?: number | undefined;
        leafIndex?: number | undefined;
        prevRoot?: string | undefined;
        newRoot?: string | undefined;
        serverSignature?: string | undefined;
        serverPublicKey?: string | undefined;
        arkConfirmed?: {
            signature: string;
            recipient: string;
            recipientPublicKey: string;
            timestamp: number;
        } | undefined;
        zipMetadata?: {
            fileName: string;
            fileSize: number;
            fileHash: string;
            contentType: "text" | "wip" | "zip" | "wts";
            localCachePath?: string | undefined;
            downloadedAt?: number | undefined;
        } | undefined;
        decryptError?: string | undefined;
        decryptAttempts?: number | undefined;
        lastDecryptAttemptAt?: number | undefined;
        viewedAt?: number | undefined;
    }[] | undefined;
}, {
    peerAddress: string;
    lastMessageAt: number;
    messageCount: number;
    unreadCount: number;
    lastMessagePreview?: string | undefined;
    previewMessages?: {
        status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
        createdAt: number;
        messageId: string;
        fromAddress: string;
        toAddress: string;
        plaintextHash: string;
        direction: "received" | "sent";
        msgType: 1 | 3;
        proof?: string | undefined;
        receivedAt?: number | undefined;
        serverTimestamp?: number | undefined;
        plaintext?: string | undefined;
        guardAddress?: string | undefined;
        passportAddress?: string | undefined;
        lastReceivedLeafIndex?: number | undefined;
        leafIndex?: number | undefined;
        prevRoot?: string | undefined;
        newRoot?: string | undefined;
        serverSignature?: string | undefined;
        serverPublicKey?: string | undefined;
        arkConfirmed?: {
            signature: string;
            recipient: string;
            recipientPublicKey: string;
            timestamp: number;
        } | undefined;
        zipMetadata?: {
            fileName: string;
            fileSize: number;
            fileHash: string;
            contentType: "text" | "wip" | "zip" | "wts";
            localCachePath?: string | undefined;
            downloadedAt?: number | undefined;
        } | undefined;
        decryptError?: string | undefined;
        decryptAttempts?: number | undefined;
        lastDecryptAttemptAt?: number | undefined;
        viewedAt?: number | undefined;
    }[] | undefined;
}>;
export declare const ConversationsFilterSchema: z.ZodObject<{
    account: z.ZodOptional<z.ZodString>;
    unreadOnly: z.ZodOptional<z.ZodBoolean>;
    startTime: z.ZodOptional<z.ZodNumber>;
    endTime: z.ZodOptional<z.ZodNumber>;
    previewMessageCount: z.ZodOptional<z.ZodNumber>;
    sortBy: z.ZodOptional<z.ZodEnum<["lastMessageAt", "unreadCount", "messageCount"]>>;
    sortOrder: z.ZodOptional<z.ZodEnum<["asc", "desc"]>>;
    skipAutoMarkViewed: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    account?: string | undefined;
    unreadOnly?: boolean | undefined;
    startTime?: number | undefined;
    endTime?: number | undefined;
    previewMessageCount?: number | undefined;
    sortBy?: "lastMessageAt" | "messageCount" | "unreadCount" | undefined;
    sortOrder?: "asc" | "desc" | undefined;
    skipAutoMarkViewed?: boolean | undefined;
}, {
    account?: string | undefined;
    unreadOnly?: boolean | undefined;
    startTime?: number | undefined;
    endTime?: number | undefined;
    previewMessageCount?: number | undefined;
    sortBy?: "lastMessageAt" | "messageCount" | "unreadCount" | undefined;
    sortOrder?: "asc" | "desc" | undefined;
    skipAutoMarkViewed?: boolean | undefined;
}>;
export declare const MessageFilterSchema: z.ZodObject<{
    account: z.ZodOptional<z.ZodString>;
    direction: z.ZodOptional<z.ZodEnum<["sent", "received"]>>;
    status: z.ZodOptional<z.ZodEnum<["pending", "confirmed", "read", "failed", "rejected", "decrypted", "decrypt_failed"]>>;
    peerAddress: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
        name_or_address: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
        local_mark_first: z.ZodOptional<z.ZodBoolean>;
    }, "strict", z.ZodTypeAny, {
        name_or_address?: string | undefined;
        local_mark_first?: boolean | undefined;
    }, {
        name_or_address?: string | undefined;
        local_mark_first?: boolean | undefined;
    }>]>>;
    msgType: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<3>]>>;
    contentType: z.ZodOptional<z.ZodEnum<["text", "zip", "wts", "wip"]>>;
    decryptedOnly: z.ZodOptional<z.ZodBoolean>;
    confirmedOnly: z.ZodOptional<z.ZodBoolean>;
    keyword: z.ZodOptional<z.ZodString>;
    sortOrder: z.ZodOptional<z.ZodEnum<["asc", "desc"]>>;
    limit: z.ZodOptional<z.ZodNumber>;
    offset: z.ZodOptional<z.ZodNumber>;
    timeField: z.ZodOptional<z.ZodEnum<["createdAt", "receivedAt", "serverTimestamp"]>>;
    startTime: z.ZodOptional<z.ZodNumber>;
    endTime: z.ZodOptional<z.ZodNumber>;
    createdAtStart: z.ZodOptional<z.ZodNumber>;
    createdAtEnd: z.ZodOptional<z.ZodNumber>;
    receivedAtStart: z.ZodOptional<z.ZodNumber>;
    receivedAtEnd: z.ZodOptional<z.ZodNumber>;
    serverTimestampStart: z.ZodOptional<z.ZodNumber>;
    serverTimestampEnd: z.ZodOptional<z.ZodNumber>;
    arkConfirmedOnly: z.ZodOptional<z.ZodBoolean>;
    arkTimestampStart: z.ZodOptional<z.ZodNumber>;
    arkTimestampEnd: z.ZodOptional<z.ZodNumber>;
    proofedOnly: z.ZodOptional<z.ZodBoolean>;
    hasLastReceivedIndexOnly: z.ZodOptional<z.ZodBoolean>;
    lastReceivedIndexMin: z.ZodOptional<z.ZodNumber>;
    lastReceivedIndexMax: z.ZodOptional<z.ZodNumber>;
    listFilterMode: z.ZodOptional<z.ZodEnum<["friends", "guard", "stranger", "any"]>>;
    customListFilter: z.ZodOptional<z.ZodObject<{
        includeAddresses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        excludeAddresses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        relation: z.ZodOptional<z.ZodEnum<["union", "intersection"]>>;
    }, "strip", z.ZodTypeAny, {
        includeAddresses?: string[] | undefined;
        excludeAddresses?: string[] | undefined;
        relation?: "union" | "intersection" | undefined;
    }, {
        includeAddresses?: string[] | undefined;
        excludeAddresses?: string[] | undefined;
        relation?: "union" | "intersection" | undefined;
    }>>;
    viewed: z.ZodOptional<z.ZodBoolean>;
    viewedAtStart: z.ZodOptional<z.ZodNumber>;
    viewedAtEnd: z.ZodOptional<z.ZodNumber>;
    skipAutoMarkViewed: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    status?: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed" | undefined;
    limit?: number | undefined;
    account?: string | undefined;
    contentType?: "text" | "wip" | "zip" | "wts" | undefined;
    direction?: "received" | "sent" | undefined;
    msgType?: 1 | 3 | undefined;
    peerAddress?: string | {
        name_or_address?: string | undefined;
        local_mark_first?: boolean | undefined;
    } | undefined;
    startTime?: number | undefined;
    endTime?: number | undefined;
    sortOrder?: "asc" | "desc" | undefined;
    skipAutoMarkViewed?: boolean | undefined;
    decryptedOnly?: boolean | undefined;
    confirmedOnly?: boolean | undefined;
    keyword?: string | undefined;
    offset?: number | undefined;
    timeField?: "createdAt" | "receivedAt" | "serverTimestamp" | undefined;
    createdAtStart?: number | undefined;
    createdAtEnd?: number | undefined;
    receivedAtStart?: number | undefined;
    receivedAtEnd?: number | undefined;
    serverTimestampStart?: number | undefined;
    serverTimestampEnd?: number | undefined;
    arkConfirmedOnly?: boolean | undefined;
    arkTimestampStart?: number | undefined;
    arkTimestampEnd?: number | undefined;
    proofedOnly?: boolean | undefined;
    hasLastReceivedIndexOnly?: boolean | undefined;
    lastReceivedIndexMin?: number | undefined;
    lastReceivedIndexMax?: number | undefined;
    listFilterMode?: "guard" | "friends" | "stranger" | "any" | undefined;
    customListFilter?: {
        includeAddresses?: string[] | undefined;
        excludeAddresses?: string[] | undefined;
        relation?: "union" | "intersection" | undefined;
    } | undefined;
    viewed?: boolean | undefined;
    viewedAtStart?: number | undefined;
    viewedAtEnd?: number | undefined;
}, {
    status?: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed" | undefined;
    limit?: number | undefined;
    account?: string | undefined;
    contentType?: "text" | "wip" | "zip" | "wts" | undefined;
    direction?: "received" | "sent" | undefined;
    msgType?: 1 | 3 | undefined;
    peerAddress?: string | {
        name_or_address?: string | undefined;
        local_mark_first?: boolean | undefined;
    } | undefined;
    startTime?: number | undefined;
    endTime?: number | undefined;
    sortOrder?: "asc" | "desc" | undefined;
    skipAutoMarkViewed?: boolean | undefined;
    decryptedOnly?: boolean | undefined;
    confirmedOnly?: boolean | undefined;
    keyword?: string | undefined;
    offset?: number | undefined;
    timeField?: "createdAt" | "receivedAt" | "serverTimestamp" | undefined;
    createdAtStart?: number | undefined;
    createdAtEnd?: number | undefined;
    receivedAtStart?: number | undefined;
    receivedAtEnd?: number | undefined;
    serverTimestampStart?: number | undefined;
    serverTimestampEnd?: number | undefined;
    arkConfirmedOnly?: boolean | undefined;
    arkTimestampStart?: number | undefined;
    arkTimestampEnd?: number | undefined;
    proofedOnly?: boolean | undefined;
    hasLastReceivedIndexOnly?: boolean | undefined;
    lastReceivedIndexMin?: number | undefined;
    lastReceivedIndexMax?: number | undefined;
    listFilterMode?: "guard" | "friends" | "stranger" | "any" | undefined;
    customListFilter?: {
        includeAddresses?: string[] | undefined;
        excludeAddresses?: string[] | undefined;
        relation?: "union" | "intersection" | undefined;
    } | undefined;
    viewed?: boolean | undefined;
    viewedAtStart?: number | undefined;
    viewedAtEnd?: number | undefined;
}>;
export declare const SendMessageOptionsSchema: z.ZodObject<{
    guardAddress: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
    passportAddress: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
    force: z.ZodOptional<z.ZodBoolean>;
    new_messenger_name: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    guardAddress?: string | undefined;
    passportAddress?: string | undefined;
    force?: boolean | undefined;
    new_messenger_name?: string | undefined;
}, {
    guardAddress?: string | undefined;
    passportAddress?: string | undefined;
    force?: boolean | undefined;
    new_messenger_name?: string | undefined;
}>;
export declare const SendFileOptionsSchema: z.ZodObject<{
    fileName: z.ZodOptional<z.ZodString>;
    contentType: z.ZodOptional<z.ZodEnum<["wts", "wip", "zip"]>>;
    guardAddress: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
    passportAddress: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
    force: z.ZodOptional<z.ZodBoolean>;
    new_messenger_name: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    fileName?: string | undefined;
    contentType?: "wip" | "zip" | "wts" | undefined;
    guardAddress?: string | undefined;
    passportAddress?: string | undefined;
    force?: boolean | undefined;
    new_messenger_name?: string | undefined;
}, {
    fileName?: string | undefined;
    contentType?: "wip" | "zip" | "wts" | undefined;
    guardAddress?: string | undefined;
    passportAddress?: string | undefined;
    force?: boolean | undefined;
    new_messenger_name?: string | undefined;
}>;
export declare const SendMessageResultSchema: z.ZodObject<{
    messageId: z.ZodString;
    status: z.ZodEnum<["pending", "confirmed", "read", "failed", "rejected", "decrypted", "decrypt_failed"]>;
    merkleData: z.ZodOptional<z.ZodObject<{
        leafIndex: z.ZodNumber;
        prevRoot: z.ZodString;
        newRoot: z.ZodString;
        serverSignature: z.ZodString;
        serverTimestamp: z.ZodNumber;
        serverPublicKey: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        serverTimestamp: number;
        leafIndex: number;
        prevRoot: string;
        newRoot: string;
        serverSignature: string;
        serverPublicKey: string;
    }, {
        serverTimestamp: number;
        leafIndex: number;
        prevRoot: string;
        newRoot: string;
        serverSignature: string;
        serverPublicKey: string;
    }>>;
    guardList: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    lastReceivedLeafIndex: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
    messageId: string;
    lastReceivedLeafIndex?: number | undefined;
    merkleData?: {
        serverTimestamp: number;
        leafIndex: number;
        prevRoot: string;
        newRoot: string;
        serverSignature: string;
        serverPublicKey: string;
    } | undefined;
    guardList?: string[] | undefined;
}, {
    status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
    messageId: string;
    lastReceivedLeafIndex?: number | undefined;
    merkleData?: {
        serverTimestamp: number;
        leafIndex: number;
        prevRoot: string;
        newRoot: string;
        serverSignature: string;
        serverPublicKey: string;
    } | undefined;
    guardList?: string[] | undefined;
}>;
export declare const TimeRangeSchema: z.ZodObject<{} & {
    type: z.ZodLiteral<"time">;
    start: z.ZodNumber;
    end: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    type: "time";
    start: number;
    end: number;
}, {
    type: "time";
    start: number;
    end: number;
}>;
export declare const MessageIdRangeSchema: z.ZodObject<{} & {
    type: z.ZodLiteral<"messageId">;
    start: z.ZodString;
    end: z.ZodString;
}, "strip", z.ZodTypeAny, {
    type: "messageId";
    start: string;
    end: string;
}, {
    type: "messageId";
    start: string;
    end: string;
}>;
export declare const SeqIndexRangeSchema: z.ZodObject<{} & {
    type: z.ZodLiteral<"seqIndex">;
    start: z.ZodNumber;
    end: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    type: "seqIndex";
    start: number;
    end: number;
}, {
    type: "seqIndex";
    start: number;
    end: number;
}>;
export declare const WtsRangeSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{} & {
    type: z.ZodLiteral<"time">;
    start: z.ZodNumber;
    end: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    type: "time";
    start: number;
    end: number;
}, {
    type: "time";
    start: number;
    end: number;
}>, z.ZodObject<{} & {
    type: z.ZodLiteral<"messageId">;
    start: z.ZodString;
    end: z.ZodString;
}, "strip", z.ZodTypeAny, {
    type: "messageId";
    start: string;
    end: string;
}, {
    type: "messageId";
    start: string;
    end: string;
}>, z.ZodObject<{} & {
    type: z.ZodLiteral<"seqIndex">;
    start: z.ZodNumber;
    end: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    type: "seqIndex";
    start: number;
    end: number;
}, {
    type: "seqIndex";
    start: number;
    end: number;
}>]>;
export declare const WtsGenerationParamsSchema: z.ZodObject<{
    myAccount: z.ZodEffects<z.ZodString, string, string>;
    peerAccount: z.ZodUnion<[z.ZodString, z.ZodObject<{
        name_or_address: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
        local_mark_first: z.ZodOptional<z.ZodBoolean>;
    }, "strict", z.ZodTypeAny, {
        name_or_address?: string | undefined;
        local_mark_first?: boolean | undefined;
    }, {
        name_or_address?: string | undefined;
        local_mark_first?: boolean | undefined;
    }>]>;
    range: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{} & {
        type: z.ZodLiteral<"time">;
        start: z.ZodNumber;
        end: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        type: "time";
        start: number;
        end: number;
    }, {
        type: "time";
        start: number;
        end: number;
    }>, z.ZodObject<{} & {
        type: z.ZodLiteral<"messageId">;
        start: z.ZodString;
        end: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: "messageId";
        start: string;
        end: string;
    }, {
        type: "messageId";
        start: string;
        end: string;
    }>, z.ZodObject<{} & {
        type: z.ZodLiteral<"seqIndex">;
        start: z.ZodNumber;
        end: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        type: "seqIndex";
        start: number;
        end: number;
    }, {
        type: "seqIndex";
        start: number;
        end: number;
    }>]>>;
    excludePlaintext: z.ZodOptional<z.ZodBoolean>;
    outputDir: z.ZodString;
}, "strip", z.ZodTypeAny, {
    myAccount: string;
    peerAccount: string | {
        name_or_address?: string | undefined;
        local_mark_first?: boolean | undefined;
    };
    outputDir: string;
    range?: {
        type: "time";
        start: number;
        end: number;
    } | {
        type: "messageId";
        start: string;
        end: string;
    } | {
        type: "seqIndex";
        start: number;
        end: number;
    } | undefined;
    excludePlaintext?: boolean | undefined;
}, {
    myAccount: string;
    peerAccount: string | {
        name_or_address?: string | undefined;
        local_mark_first?: boolean | undefined;
    };
    outputDir: string;
    range?: {
        type: "time";
        start: number;
        end: number;
    } | {
        type: "messageId";
        start: string;
        end: string;
    } | {
        type: "seqIndex";
        start: number;
        end: number;
    } | undefined;
    excludePlaintext?: boolean | undefined;
}>;
export declare const WtsFileResultSchema: z.ZodObject<{
    files: z.ZodArray<z.ZodString, "many">;
    totalMessageCount: z.ZodNumber;
    timeRange: z.ZodObject<{
        start: z.ZodNumber;
        end: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        start: number;
        end: number;
    }, {
        start: number;
        end: number;
    }>;
}, "strip", z.ZodTypeAny, {
    files: string[];
    totalMessageCount: number;
    timeRange: {
        start: number;
        end: number;
    };
}, {
    files: string[];
    totalMessageCount: number;
    timeRange: {
        start: number;
        end: number;
    };
}>;
export declare const WtsSignatureVerificationSchema: z.ZodObject<{
    publicKey: z.ZodString;
    address: z.ZodOptional<z.ZodString>;
    valid: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
    valid: boolean;
    publicKey: string;
    address?: string | undefined;
}, {
    valid: boolean;
    publicKey: string;
    address?: string | undefined;
}>;
export declare const WtsVerificationResultSchema: z.ZodObject<{
    valid: z.ZodBoolean;
    error: z.ZodOptional<z.ZodString>;
    hashValid: z.ZodOptional<z.ZodBoolean>;
    hasSignature: z.ZodOptional<z.ZodBoolean>;
    signatureValid: z.ZodOptional<z.ZodBoolean>;
    signatures: z.ZodOptional<z.ZodArray<z.ZodObject<{
        publicKey: z.ZodString;
        address: z.ZodOptional<z.ZodString>;
        valid: z.ZodBoolean;
    }, "strip", z.ZodTypeAny, {
        valid: boolean;
        publicKey: string;
        address?: string | undefined;
    }, {
        valid: boolean;
        publicKey: string;
        address?: string | undefined;
    }>, "many">>;
}, "strip", z.ZodTypeAny, {
    valid: boolean;
    error?: string | undefined;
    hashValid?: boolean | undefined;
    signatureValid?: boolean | undefined;
    hasSignature?: boolean | undefined;
    signatures?: {
        valid: boolean;
        publicKey: string;
        address?: string | undefined;
    }[] | undefined;
}, {
    valid: boolean;
    error?: string | undefined;
    hashValid?: boolean | undefined;
    signatureValid?: boolean | undefined;
    hasSignature?: boolean | undefined;
    signatures?: {
        valid: boolean;
        publicKey: string;
        address?: string | undefined;
    }[] | undefined;
}>;
export declare const WtsToHtmlOptionsSchema: z.ZodObject<{
    title: z.ZodOptional<z.ZodString>;
    theme: z.ZodOptional<z.ZodEnum<["light", "dark"]>>;
    outputPath: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    title?: string | undefined;
    theme?: "light" | "dark" | undefined;
    outputPath?: string | undefined;
}, {
    title?: string | undefined;
    theme?: "light" | "dark" | undefined;
    outputPath?: string | undefined;
}>;
export declare const AddressExistenceSchema: z.ZodObject<{
    address: z.ZodString;
    exists: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
    address: string;
    exists: boolean;
}, {
    address: string;
    exists: boolean;
}>;
export declare const GuardListItemSchema: z.ZodObject<{
    guardAddress: z.ZodString;
    passportValiditySeconds: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    guardAddress: string;
    passportValiditySeconds: number;
}, {
    guardAddress: string;
    passportValiditySeconds: number;
}>;
export declare const ListOperationResponseSchema: z.ZodObject<{
    success: z.ZodBoolean;
    operation: z.ZodString;
    modifiedCount: z.ZodNumber;
    currentCount: z.ZodNumber;
    maxCount: z.ZodNumber;
    invalidAddresses: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
    existResults: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
        address: z.ZodString;
        exists: z.ZodBoolean;
    }, "strip", z.ZodTypeAny, {
        address: string;
        exists: boolean;
    }, {
        address: string;
        exists: boolean;
    }>, "many">>>;
    message: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    currentList: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
    currentGuardList: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
        guardAddress: z.ZodString;
        passportValiditySeconds: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        guardAddress: string;
        passportValiditySeconds: number;
    }, {
        guardAddress: string;
        passportValiditySeconds: number;
    }>, "many">>>;
}, "strip", z.ZodTypeAny, {
    success: boolean;
    operation: string;
    modifiedCount: number;
    currentCount: number;
    maxCount: number;
    message?: string | null | undefined;
    invalidAddresses?: string[] | null | undefined;
    existResults?: {
        address: string;
        exists: boolean;
    }[] | null | undefined;
    currentList?: string[] | null | undefined;
    currentGuardList?: {
        guardAddress: string;
        passportValiditySeconds: number;
    }[] | null | undefined;
}, {
    success: boolean;
    operation: string;
    modifiedCount: number;
    currentCount: number;
    maxCount: number;
    message?: string | null | undefined;
    invalidAddresses?: string[] | null | undefined;
    existResults?: {
        address: string;
        exists: boolean;
    }[] | null | undefined;
    currentList?: string[] | null | undefined;
    currentGuardList?: {
        guardAddress: string;
        passportValiditySeconds: number;
    }[] | null | undefined;
}>;
export declare const BlacklistOperationSchema: z.ZodDiscriminatedUnion<"op", [z.ZodObject<{
    op: z.ZodLiteral<"add">;
    users: z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodObject<{
        entities: z.ZodArray<z.ZodObject<{
            name_or_address: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
            local_mark_first: z.ZodOptional<z.ZodBoolean>;
        }, "strict", z.ZodTypeAny, {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }, {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }>, "many">;
        check_all_founded: z.ZodOptional<z.ZodBoolean>;
    }, "strict", z.ZodTypeAny, {
        entities: {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }[];
        check_all_founded?: boolean | undefined;
    }, {
        entities: {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }[];
        check_all_founded?: boolean | undefined;
    }>]>;
}, "strip", z.ZodTypeAny, {
    op: "add";
    users: {
        entities: {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }[];
        check_all_founded?: boolean | undefined;
    } | string[];
}, {
    op: "add";
    users: {
        entities: {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }[];
        check_all_founded?: boolean | undefined;
    } | string[];
}>, z.ZodObject<{
    op: z.ZodLiteral<"remove">;
    users: z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodObject<{
        entities: z.ZodArray<z.ZodObject<{
            name_or_address: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
            local_mark_first: z.ZodOptional<z.ZodBoolean>;
        }, "strict", z.ZodTypeAny, {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }, {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }>, "many">;
        check_all_founded: z.ZodOptional<z.ZodBoolean>;
    }, "strict", z.ZodTypeAny, {
        entities: {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }[];
        check_all_founded?: boolean | undefined;
    }, {
        entities: {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }[];
        check_all_founded?: boolean | undefined;
    }>]>;
}, "strip", z.ZodTypeAny, {
    op: "remove";
    users: {
        entities: {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }[];
        check_all_founded?: boolean | undefined;
    } | string[];
}, {
    op: "remove";
    users: {
        entities: {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }[];
        check_all_founded?: boolean | undefined;
    } | string[];
}>, z.ZodObject<{
    op: z.ZodLiteral<"clear">;
}, "strip", z.ZodTypeAny, {
    op: "clear";
}, {
    op: "clear";
}>, z.ZodObject<{
    op: z.ZodLiteral<"get">;
}, "strip", z.ZodTypeAny, {
    op: "get";
}, {
    op: "get";
}>, z.ZodObject<{
    op: z.ZodLiteral<"exist">;
    users: z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodObject<{
        entities: z.ZodArray<z.ZodObject<{
            name_or_address: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
            local_mark_first: z.ZodOptional<z.ZodBoolean>;
        }, "strict", z.ZodTypeAny, {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }, {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }>, "many">;
        check_all_founded: z.ZodOptional<z.ZodBoolean>;
    }, "strict", z.ZodTypeAny, {
        entities: {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }[];
        check_all_founded?: boolean | undefined;
    }, {
        entities: {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }[];
        check_all_founded?: boolean | undefined;
    }>]>;
}, "strip", z.ZodTypeAny, {
    op: "exist";
    users: {
        entities: {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }[];
        check_all_founded?: boolean | undefined;
    } | string[];
}, {
    op: "exist";
    users: {
        entities: {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }[];
        check_all_founded?: boolean | undefined;
    } | string[];
}>]>;
export declare const FriendslistOperationSchema: z.ZodDiscriminatedUnion<"op", [z.ZodObject<{
    op: z.ZodLiteral<"add">;
    users: z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodObject<{
        entities: z.ZodArray<z.ZodObject<{
            name_or_address: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
            local_mark_first: z.ZodOptional<z.ZodBoolean>;
        }, "strict", z.ZodTypeAny, {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }, {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }>, "many">;
        check_all_founded: z.ZodOptional<z.ZodBoolean>;
    }, "strict", z.ZodTypeAny, {
        entities: {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }[];
        check_all_founded?: boolean | undefined;
    }, {
        entities: {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }[];
        check_all_founded?: boolean | undefined;
    }>]>;
}, "strip", z.ZodTypeAny, {
    op: "add";
    users: {
        entities: {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }[];
        check_all_founded?: boolean | undefined;
    } | string[];
}, {
    op: "add";
    users: {
        entities: {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }[];
        check_all_founded?: boolean | undefined;
    } | string[];
}>, z.ZodObject<{
    op: z.ZodLiteral<"remove">;
    users: z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodObject<{
        entities: z.ZodArray<z.ZodObject<{
            name_or_address: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
            local_mark_first: z.ZodOptional<z.ZodBoolean>;
        }, "strict", z.ZodTypeAny, {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }, {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }>, "many">;
        check_all_founded: z.ZodOptional<z.ZodBoolean>;
    }, "strict", z.ZodTypeAny, {
        entities: {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }[];
        check_all_founded?: boolean | undefined;
    }, {
        entities: {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }[];
        check_all_founded?: boolean | undefined;
    }>]>;
}, "strip", z.ZodTypeAny, {
    op: "remove";
    users: {
        entities: {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }[];
        check_all_founded?: boolean | undefined;
    } | string[];
}, {
    op: "remove";
    users: {
        entities: {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }[];
        check_all_founded?: boolean | undefined;
    } | string[];
}>, z.ZodObject<{
    op: z.ZodLiteral<"clear">;
}, "strip", z.ZodTypeAny, {
    op: "clear";
}, {
    op: "clear";
}>, z.ZodObject<{
    op: z.ZodLiteral<"get">;
}, "strip", z.ZodTypeAny, {
    op: "get";
}, {
    op: "get";
}>, z.ZodObject<{
    op: z.ZodLiteral<"exist">;
    users: z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodObject<{
        entities: z.ZodArray<z.ZodObject<{
            name_or_address: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
            local_mark_first: z.ZodOptional<z.ZodBoolean>;
        }, "strict", z.ZodTypeAny, {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }, {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }>, "many">;
        check_all_founded: z.ZodOptional<z.ZodBoolean>;
    }, "strict", z.ZodTypeAny, {
        entities: {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }[];
        check_all_founded?: boolean | undefined;
    }, {
        entities: {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }[];
        check_all_founded?: boolean | undefined;
    }>]>;
}, "strip", z.ZodTypeAny, {
    op: "exist";
    users: {
        entities: {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }[];
        check_all_founded?: boolean | undefined;
    } | string[];
}, {
    op: "exist";
    users: {
        entities: {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }[];
        check_all_founded?: boolean | undefined;
    } | string[];
}>]>;
export declare const GuardParamSchema: z.ZodObject<{
    guard: z.ZodEffects<z.ZodString, string, string>;
    passportValiditySeconds: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    guard: string;
    passportValiditySeconds: number;
}, {
    guard: string;
    passportValiditySeconds: number;
}>;
export declare const GuardlistOperationSchema: z.ZodDiscriminatedUnion<"op", [z.ZodObject<{
    op: z.ZodLiteral<"add">;
    guards: z.ZodArray<z.ZodObject<{
        guard: z.ZodEffects<z.ZodString, string, string>;
        passportValiditySeconds: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        guard: string;
        passportValiditySeconds: number;
    }, {
        guard: string;
        passportValiditySeconds: number;
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    op: "add";
    guards: {
        guard: string;
        passportValiditySeconds: number;
    }[];
}, {
    op: "add";
    guards: {
        guard: string;
        passportValiditySeconds: number;
    }[];
}>, z.ZodObject<{
    op: z.ZodLiteral<"remove">;
    guards: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
}, "strip", z.ZodTypeAny, {
    op: "remove";
    guards: string[];
}, {
    op: "remove";
    guards: string[];
}>, z.ZodObject<{
    op: z.ZodLiteral<"get">;
}, "strip", z.ZodTypeAny, {
    op: "get";
}, {
    op: "get";
}>]>;
export declare const SettingsOperationSchema: z.ZodDiscriminatedUnion<"op", [z.ZodObject<{
    op: z.ZodLiteral<"get">;
}, "strip", z.ZodTypeAny, {
    op: "get";
}, {
    op: "get";
}>, z.ZodObject<{
    op: z.ZodLiteral<"set">;
    allowStrangerMessages: z.ZodOptional<z.ZodBoolean>;
    maxInboxSize: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    op: "set";
    allowStrangerMessages?: boolean | undefined;
    maxInboxSize?: number | undefined;
}, {
    op: "set";
    allowStrangerMessages?: boolean | undefined;
    maxInboxSize?: number | undefined;
}>]>;
export declare const GetSettingsResponseSchema: z.ZodObject<{
    allowStrangerMessages: z.ZodOptional<z.ZodBoolean>;
    maxInboxSize: z.ZodOptional<z.ZodNumber>;
    minUserInboxSize: z.ZodNumber;
    maxUserInboxSize: z.ZodNumber;
    defaultAllowStrangerMessages: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
    minUserInboxSize: number;
    maxUserInboxSize: number;
    defaultAllowStrangerMessages: boolean;
    allowStrangerMessages?: boolean | undefined;
    maxInboxSize?: number | undefined;
}, {
    minUserInboxSize: number;
    maxUserInboxSize: number;
    defaultAllowStrangerMessages: boolean;
    allowStrangerMessages?: boolean | undefined;
    maxInboxSize?: number | undefined;
}>;
export declare const MessengerOperationInputSchema: z.ZodDiscriminatedUnion<"operation", [z.ZodObject<{
    operation: z.ZodLiteral<"watch_conversations">;
    filter: z.ZodOptional<z.ZodObject<{
        account: z.ZodOptional<z.ZodString>;
        unreadOnly: z.ZodOptional<z.ZodBoolean>;
        startTime: z.ZodOptional<z.ZodNumber>;
        endTime: z.ZodOptional<z.ZodNumber>;
        previewMessageCount: z.ZodOptional<z.ZodNumber>;
        sortBy: z.ZodOptional<z.ZodEnum<["lastMessageAt", "unreadCount", "messageCount"]>>;
        sortOrder: z.ZodOptional<z.ZodEnum<["asc", "desc"]>>;
        skipAutoMarkViewed: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        account?: string | undefined;
        unreadOnly?: boolean | undefined;
        startTime?: number | undefined;
        endTime?: number | undefined;
        previewMessageCount?: number | undefined;
        sortBy?: "lastMessageAt" | "messageCount" | "unreadCount" | undefined;
        sortOrder?: "asc" | "desc" | undefined;
        skipAutoMarkViewed?: boolean | undefined;
    }, {
        account?: string | undefined;
        unreadOnly?: boolean | undefined;
        startTime?: number | undefined;
        endTime?: number | undefined;
        previewMessageCount?: number | undefined;
        sortBy?: "lastMessageAt" | "messageCount" | "unreadCount" | undefined;
        sortOrder?: "asc" | "desc" | undefined;
        skipAutoMarkViewed?: boolean | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    operation: "watch_conversations";
    filter?: {
        account?: string | undefined;
        unreadOnly?: boolean | undefined;
        startTime?: number | undefined;
        endTime?: number | undefined;
        previewMessageCount?: number | undefined;
        sortBy?: "lastMessageAt" | "messageCount" | "unreadCount" | undefined;
        sortOrder?: "asc" | "desc" | undefined;
        skipAutoMarkViewed?: boolean | undefined;
    } | undefined;
}, {
    operation: "watch_conversations";
    filter?: {
        account?: string | undefined;
        unreadOnly?: boolean | undefined;
        startTime?: number | undefined;
        endTime?: number | undefined;
        previewMessageCount?: number | undefined;
        sortBy?: "lastMessageAt" | "messageCount" | "unreadCount" | undefined;
        sortOrder?: "asc" | "desc" | undefined;
        skipAutoMarkViewed?: boolean | undefined;
    } | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"send_message">;
    from: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
    to: z.ZodUnion<[z.ZodString, z.ZodObject<{
        name_or_address: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
        local_mark_first: z.ZodOptional<z.ZodBoolean>;
    }, "strict", z.ZodTypeAny, {
        name_or_address?: string | undefined;
        local_mark_first?: boolean | undefined;
    }, {
        name_or_address?: string | undefined;
        local_mark_first?: boolean | undefined;
    }>]>;
    content: z.ZodString;
    options: z.ZodOptional<z.ZodObject<{
        guardAddress: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
        passportAddress: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
        force: z.ZodOptional<z.ZodBoolean>;
        new_messenger_name: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        guardAddress?: string | undefined;
        passportAddress?: string | undefined;
        force?: boolean | undefined;
        new_messenger_name?: string | undefined;
    }, {
        guardAddress?: string | undefined;
        passportAddress?: string | undefined;
        force?: boolean | undefined;
        new_messenger_name?: string | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    content: string;
    operation: "send_message";
    to: string | {
        name_or_address?: string | undefined;
        local_mark_first?: boolean | undefined;
    };
    options?: {
        guardAddress?: string | undefined;
        passportAddress?: string | undefined;
        force?: boolean | undefined;
        new_messenger_name?: string | undefined;
    } | undefined;
    from?: string | undefined;
}, {
    content: string;
    operation: "send_message";
    to: string | {
        name_or_address?: string | undefined;
        local_mark_first?: boolean | undefined;
    };
    options?: {
        guardAddress?: string | undefined;
        passportAddress?: string | undefined;
        force?: boolean | undefined;
        new_messenger_name?: string | undefined;
    } | undefined;
    from?: string | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"send_file">;
    from: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
    to: z.ZodUnion<[z.ZodString, z.ZodObject<{
        name_or_address: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
        local_mark_first: z.ZodOptional<z.ZodBoolean>;
    }, "strict", z.ZodTypeAny, {
        name_or_address?: string | undefined;
        local_mark_first?: boolean | undefined;
    }, {
        name_or_address?: string | undefined;
        local_mark_first?: boolean | undefined;
    }>]>;
    filePath: z.ZodString;
    options: z.ZodOptional<z.ZodObject<{
        fileName: z.ZodOptional<z.ZodString>;
        contentType: z.ZodOptional<z.ZodEnum<["wts", "wip", "zip"]>>;
        guardAddress: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
        passportAddress: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
        force: z.ZodOptional<z.ZodBoolean>;
        new_messenger_name: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        fileName?: string | undefined;
        contentType?: "wip" | "zip" | "wts" | undefined;
        guardAddress?: string | undefined;
        passportAddress?: string | undefined;
        force?: boolean | undefined;
        new_messenger_name?: string | undefined;
    }, {
        fileName?: string | undefined;
        contentType?: "wip" | "zip" | "wts" | undefined;
        guardAddress?: string | undefined;
        passportAddress?: string | undefined;
        force?: boolean | undefined;
        new_messenger_name?: string | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    filePath: string;
    operation: "send_file";
    to: string | {
        name_or_address?: string | undefined;
        local_mark_first?: boolean | undefined;
    };
    options?: {
        fileName?: string | undefined;
        contentType?: "wip" | "zip" | "wts" | undefined;
        guardAddress?: string | undefined;
        passportAddress?: string | undefined;
        force?: boolean | undefined;
        new_messenger_name?: string | undefined;
    } | undefined;
    from?: string | undefined;
}, {
    filePath: string;
    operation: "send_file";
    to: string | {
        name_or_address?: string | undefined;
        local_mark_first?: boolean | undefined;
    };
    options?: {
        fileName?: string | undefined;
        contentType?: "wip" | "zip" | "wts" | undefined;
        guardAddress?: string | undefined;
        passportAddress?: string | undefined;
        force?: boolean | undefined;
        new_messenger_name?: string | undefined;
    } | undefined;
    from?: string | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"watch_messages">;
    filter: z.ZodOptional<z.ZodObject<{
        account: z.ZodOptional<z.ZodString>;
        direction: z.ZodOptional<z.ZodEnum<["sent", "received"]>>;
        status: z.ZodOptional<z.ZodEnum<["pending", "confirmed", "read", "failed", "rejected", "decrypted", "decrypt_failed"]>>;
        peerAddress: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
            name_or_address: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
            local_mark_first: z.ZodOptional<z.ZodBoolean>;
        }, "strict", z.ZodTypeAny, {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }, {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }>]>>;
        msgType: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<3>]>>;
        contentType: z.ZodOptional<z.ZodEnum<["text", "zip", "wts", "wip"]>>;
        decryptedOnly: z.ZodOptional<z.ZodBoolean>;
        confirmedOnly: z.ZodOptional<z.ZodBoolean>;
        keyword: z.ZodOptional<z.ZodString>;
        sortOrder: z.ZodOptional<z.ZodEnum<["asc", "desc"]>>;
        limit: z.ZodOptional<z.ZodNumber>;
        offset: z.ZodOptional<z.ZodNumber>;
        timeField: z.ZodOptional<z.ZodEnum<["createdAt", "receivedAt", "serverTimestamp"]>>;
        startTime: z.ZodOptional<z.ZodNumber>;
        endTime: z.ZodOptional<z.ZodNumber>;
        createdAtStart: z.ZodOptional<z.ZodNumber>;
        createdAtEnd: z.ZodOptional<z.ZodNumber>;
        receivedAtStart: z.ZodOptional<z.ZodNumber>;
        receivedAtEnd: z.ZodOptional<z.ZodNumber>;
        serverTimestampStart: z.ZodOptional<z.ZodNumber>;
        serverTimestampEnd: z.ZodOptional<z.ZodNumber>;
        arkConfirmedOnly: z.ZodOptional<z.ZodBoolean>;
        arkTimestampStart: z.ZodOptional<z.ZodNumber>;
        arkTimestampEnd: z.ZodOptional<z.ZodNumber>;
        proofedOnly: z.ZodOptional<z.ZodBoolean>;
        hasLastReceivedIndexOnly: z.ZodOptional<z.ZodBoolean>;
        lastReceivedIndexMin: z.ZodOptional<z.ZodNumber>;
        lastReceivedIndexMax: z.ZodOptional<z.ZodNumber>;
        listFilterMode: z.ZodOptional<z.ZodEnum<["friends", "guard", "stranger", "any"]>>;
        customListFilter: z.ZodOptional<z.ZodObject<{
            includeAddresses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            excludeAddresses: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            relation: z.ZodOptional<z.ZodEnum<["union", "intersection"]>>;
        }, "strip", z.ZodTypeAny, {
            includeAddresses?: string[] | undefined;
            excludeAddresses?: string[] | undefined;
            relation?: "union" | "intersection" | undefined;
        }, {
            includeAddresses?: string[] | undefined;
            excludeAddresses?: string[] | undefined;
            relation?: "union" | "intersection" | undefined;
        }>>;
        viewed: z.ZodOptional<z.ZodBoolean>;
        viewedAtStart: z.ZodOptional<z.ZodNumber>;
        viewedAtEnd: z.ZodOptional<z.ZodNumber>;
        skipAutoMarkViewed: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        status?: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed" | undefined;
        limit?: number | undefined;
        account?: string | undefined;
        contentType?: "text" | "wip" | "zip" | "wts" | undefined;
        direction?: "received" | "sent" | undefined;
        msgType?: 1 | 3 | undefined;
        peerAddress?: string | {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        } | undefined;
        startTime?: number | undefined;
        endTime?: number | undefined;
        sortOrder?: "asc" | "desc" | undefined;
        skipAutoMarkViewed?: boolean | undefined;
        decryptedOnly?: boolean | undefined;
        confirmedOnly?: boolean | undefined;
        keyword?: string | undefined;
        offset?: number | undefined;
        timeField?: "createdAt" | "receivedAt" | "serverTimestamp" | undefined;
        createdAtStart?: number | undefined;
        createdAtEnd?: number | undefined;
        receivedAtStart?: number | undefined;
        receivedAtEnd?: number | undefined;
        serverTimestampStart?: number | undefined;
        serverTimestampEnd?: number | undefined;
        arkConfirmedOnly?: boolean | undefined;
        arkTimestampStart?: number | undefined;
        arkTimestampEnd?: number | undefined;
        proofedOnly?: boolean | undefined;
        hasLastReceivedIndexOnly?: boolean | undefined;
        lastReceivedIndexMin?: number | undefined;
        lastReceivedIndexMax?: number | undefined;
        listFilterMode?: "guard" | "friends" | "stranger" | "any" | undefined;
        customListFilter?: {
            includeAddresses?: string[] | undefined;
            excludeAddresses?: string[] | undefined;
            relation?: "union" | "intersection" | undefined;
        } | undefined;
        viewed?: boolean | undefined;
        viewedAtStart?: number | undefined;
        viewedAtEnd?: number | undefined;
    }, {
        status?: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed" | undefined;
        limit?: number | undefined;
        account?: string | undefined;
        contentType?: "text" | "wip" | "zip" | "wts" | undefined;
        direction?: "received" | "sent" | undefined;
        msgType?: 1 | 3 | undefined;
        peerAddress?: string | {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        } | undefined;
        startTime?: number | undefined;
        endTime?: number | undefined;
        sortOrder?: "asc" | "desc" | undefined;
        skipAutoMarkViewed?: boolean | undefined;
        decryptedOnly?: boolean | undefined;
        confirmedOnly?: boolean | undefined;
        keyword?: string | undefined;
        offset?: number | undefined;
        timeField?: "createdAt" | "receivedAt" | "serverTimestamp" | undefined;
        createdAtStart?: number | undefined;
        createdAtEnd?: number | undefined;
        receivedAtStart?: number | undefined;
        receivedAtEnd?: number | undefined;
        serverTimestampStart?: number | undefined;
        serverTimestampEnd?: number | undefined;
        arkConfirmedOnly?: boolean | undefined;
        arkTimestampStart?: number | undefined;
        arkTimestampEnd?: number | undefined;
        proofedOnly?: boolean | undefined;
        hasLastReceivedIndexOnly?: boolean | undefined;
        lastReceivedIndexMin?: number | undefined;
        lastReceivedIndexMax?: number | undefined;
        listFilterMode?: "guard" | "friends" | "stranger" | "any" | undefined;
        customListFilter?: {
            includeAddresses?: string[] | undefined;
            excludeAddresses?: string[] | undefined;
            relation?: "union" | "intersection" | undefined;
        } | undefined;
        viewed?: boolean | undefined;
        viewedAtStart?: number | undefined;
        viewedAtEnd?: number | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    operation: "watch_messages";
    filter?: {
        status?: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed" | undefined;
        limit?: number | undefined;
        account?: string | undefined;
        contentType?: "text" | "wip" | "zip" | "wts" | undefined;
        direction?: "received" | "sent" | undefined;
        msgType?: 1 | 3 | undefined;
        peerAddress?: string | {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        } | undefined;
        startTime?: number | undefined;
        endTime?: number | undefined;
        sortOrder?: "asc" | "desc" | undefined;
        skipAutoMarkViewed?: boolean | undefined;
        decryptedOnly?: boolean | undefined;
        confirmedOnly?: boolean | undefined;
        keyword?: string | undefined;
        offset?: number | undefined;
        timeField?: "createdAt" | "receivedAt" | "serverTimestamp" | undefined;
        createdAtStart?: number | undefined;
        createdAtEnd?: number | undefined;
        receivedAtStart?: number | undefined;
        receivedAtEnd?: number | undefined;
        serverTimestampStart?: number | undefined;
        serverTimestampEnd?: number | undefined;
        arkConfirmedOnly?: boolean | undefined;
        arkTimestampStart?: number | undefined;
        arkTimestampEnd?: number | undefined;
        proofedOnly?: boolean | undefined;
        hasLastReceivedIndexOnly?: boolean | undefined;
        lastReceivedIndexMin?: number | undefined;
        lastReceivedIndexMax?: number | undefined;
        listFilterMode?: "guard" | "friends" | "stranger" | "any" | undefined;
        customListFilter?: {
            includeAddresses?: string[] | undefined;
            excludeAddresses?: string[] | undefined;
            relation?: "union" | "intersection" | undefined;
        } | undefined;
        viewed?: boolean | undefined;
        viewedAtStart?: number | undefined;
        viewedAtEnd?: number | undefined;
    } | undefined;
}, {
    operation: "watch_messages";
    filter?: {
        status?: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed" | undefined;
        limit?: number | undefined;
        account?: string | undefined;
        contentType?: "text" | "wip" | "zip" | "wts" | undefined;
        direction?: "received" | "sent" | undefined;
        msgType?: 1 | 3 | undefined;
        peerAddress?: string | {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        } | undefined;
        startTime?: number | undefined;
        endTime?: number | undefined;
        sortOrder?: "asc" | "desc" | undefined;
        skipAutoMarkViewed?: boolean | undefined;
        decryptedOnly?: boolean | undefined;
        confirmedOnly?: boolean | undefined;
        keyword?: string | undefined;
        offset?: number | undefined;
        timeField?: "createdAt" | "receivedAt" | "serverTimestamp" | undefined;
        createdAtStart?: number | undefined;
        createdAtEnd?: number | undefined;
        receivedAtStart?: number | undefined;
        receivedAtEnd?: number | undefined;
        serverTimestampStart?: number | undefined;
        serverTimestampEnd?: number | undefined;
        arkConfirmedOnly?: boolean | undefined;
        arkTimestampStart?: number | undefined;
        arkTimestampEnd?: number | undefined;
        proofedOnly?: boolean | undefined;
        hasLastReceivedIndexOnly?: boolean | undefined;
        lastReceivedIndexMin?: number | undefined;
        lastReceivedIndexMax?: number | undefined;
        listFilterMode?: "guard" | "friends" | "stranger" | "any" | undefined;
        customListFilter?: {
            includeAddresses?: string[] | undefined;
            excludeAddresses?: string[] | undefined;
            relation?: "union" | "intersection" | undefined;
        } | undefined;
        viewed?: boolean | undefined;
        viewedAtStart?: number | undefined;
        viewedAtEnd?: number | undefined;
    } | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"extract_zip_messages">;
    account: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
    messages: z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
        messageId: z.ZodString;
        fromAddress: z.ZodString;
        toAddress: z.ZodString;
        plaintextHash: z.ZodString;
        plaintext: z.ZodOptional<z.ZodString>;
        guardAddress: z.ZodOptional<z.ZodString>;
        passportAddress: z.ZodOptional<z.ZodString>;
        lastReceivedLeafIndex: z.ZodOptional<z.ZodNumber>;
        direction: z.ZodEnum<["sent", "received"]>;
        status: z.ZodEnum<["pending", "confirmed", "read", "failed", "rejected", "decrypted", "decrypt_failed"]>;
        msgType: z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<3>]>;
        leafIndex: z.ZodOptional<z.ZodNumber>;
        prevRoot: z.ZodOptional<z.ZodString>;
        newRoot: z.ZodOptional<z.ZodString>;
        serverSignature: z.ZodOptional<z.ZodString>;
        serverTimestamp: z.ZodOptional<z.ZodNumber>;
        serverPublicKey: z.ZodOptional<z.ZodString>;
        arkConfirmed: z.ZodOptional<z.ZodObject<{
            recipient: z.ZodString;
            recipientPublicKey: z.ZodString;
            signature: z.ZodString;
            timestamp: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            signature: string;
            recipient: string;
            recipientPublicKey: string;
            timestamp: number;
        }, {
            signature: string;
            recipient: string;
            recipientPublicKey: string;
            timestamp: number;
        }>>;
        createdAt: z.ZodNumber;
        receivedAt: z.ZodOptional<z.ZodNumber>;
        zipMetadata: z.ZodOptional<z.ZodObject<{
            fileName: z.ZodString;
            fileSize: z.ZodNumber;
            fileHash: z.ZodString;
            contentType: z.ZodEnum<["text", "zip", "wts", "wip"]>;
            localCachePath: z.ZodOptional<z.ZodString>;
            downloadedAt: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            fileName: string;
            fileSize: number;
            fileHash: string;
            contentType: "text" | "wip" | "zip" | "wts";
            localCachePath?: string | undefined;
            downloadedAt?: number | undefined;
        }, {
            fileName: string;
            fileSize: number;
            fileHash: string;
            contentType: "text" | "wip" | "zip" | "wts";
            localCachePath?: string | undefined;
            downloadedAt?: number | undefined;
        }>>;
        proof: z.ZodOptional<z.ZodString>;
        decryptError: z.ZodOptional<z.ZodString>;
        decryptAttempts: z.ZodOptional<z.ZodNumber>;
        lastDecryptAttemptAt: z.ZodOptional<z.ZodNumber>;
        viewedAt: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
        createdAt: number;
        messageId: string;
        fromAddress: string;
        toAddress: string;
        plaintextHash: string;
        direction: "received" | "sent";
        msgType: 1 | 3;
        proof?: string | undefined;
        receivedAt?: number | undefined;
        serverTimestamp?: number | undefined;
        plaintext?: string | undefined;
        guardAddress?: string | undefined;
        passportAddress?: string | undefined;
        lastReceivedLeafIndex?: number | undefined;
        leafIndex?: number | undefined;
        prevRoot?: string | undefined;
        newRoot?: string | undefined;
        serverSignature?: string | undefined;
        serverPublicKey?: string | undefined;
        arkConfirmed?: {
            signature: string;
            recipient: string;
            recipientPublicKey: string;
            timestamp: number;
        } | undefined;
        zipMetadata?: {
            fileName: string;
            fileSize: number;
            fileHash: string;
            contentType: "text" | "wip" | "zip" | "wts";
            localCachePath?: string | undefined;
            downloadedAt?: number | undefined;
        } | undefined;
        decryptError?: string | undefined;
        decryptAttempts?: number | undefined;
        lastDecryptAttemptAt?: number | undefined;
        viewedAt?: number | undefined;
    }, {
        status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
        createdAt: number;
        messageId: string;
        fromAddress: string;
        toAddress: string;
        plaintextHash: string;
        direction: "received" | "sent";
        msgType: 1 | 3;
        proof?: string | undefined;
        receivedAt?: number | undefined;
        serverTimestamp?: number | undefined;
        plaintext?: string | undefined;
        guardAddress?: string | undefined;
        passportAddress?: string | undefined;
        lastReceivedLeafIndex?: number | undefined;
        leafIndex?: number | undefined;
        prevRoot?: string | undefined;
        newRoot?: string | undefined;
        serverSignature?: string | undefined;
        serverPublicKey?: string | undefined;
        arkConfirmed?: {
            signature: string;
            recipient: string;
            recipientPublicKey: string;
            timestamp: number;
        } | undefined;
        zipMetadata?: {
            fileName: string;
            fileSize: number;
            fileHash: string;
            contentType: "text" | "wip" | "zip" | "wts";
            localCachePath?: string | undefined;
            downloadedAt?: number | undefined;
        } | undefined;
        decryptError?: string | undefined;
        decryptAttempts?: number | undefined;
        lastDecryptAttemptAt?: number | undefined;
        viewedAt?: number | undefined;
    }>]>, "many">;
    outputDir: z.ZodString;
}, "strip", z.ZodTypeAny, {
    operation: "extract_zip_messages";
    outputDir: string;
    messages: (string | {
        status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
        createdAt: number;
        messageId: string;
        fromAddress: string;
        toAddress: string;
        plaintextHash: string;
        direction: "received" | "sent";
        msgType: 1 | 3;
        proof?: string | undefined;
        receivedAt?: number | undefined;
        serverTimestamp?: number | undefined;
        plaintext?: string | undefined;
        guardAddress?: string | undefined;
        passportAddress?: string | undefined;
        lastReceivedLeafIndex?: number | undefined;
        leafIndex?: number | undefined;
        prevRoot?: string | undefined;
        newRoot?: string | undefined;
        serverSignature?: string | undefined;
        serverPublicKey?: string | undefined;
        arkConfirmed?: {
            signature: string;
            recipient: string;
            recipientPublicKey: string;
            timestamp: number;
        } | undefined;
        zipMetadata?: {
            fileName: string;
            fileSize: number;
            fileHash: string;
            contentType: "text" | "wip" | "zip" | "wts";
            localCachePath?: string | undefined;
            downloadedAt?: number | undefined;
        } | undefined;
        decryptError?: string | undefined;
        decryptAttempts?: number | undefined;
        lastDecryptAttemptAt?: number | undefined;
        viewedAt?: number | undefined;
    })[];
    account?: string | undefined;
}, {
    operation: "extract_zip_messages";
    outputDir: string;
    messages: (string | {
        status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
        createdAt: number;
        messageId: string;
        fromAddress: string;
        toAddress: string;
        plaintextHash: string;
        direction: "received" | "sent";
        msgType: 1 | 3;
        proof?: string | undefined;
        receivedAt?: number | undefined;
        serverTimestamp?: number | undefined;
        plaintext?: string | undefined;
        guardAddress?: string | undefined;
        passportAddress?: string | undefined;
        lastReceivedLeafIndex?: number | undefined;
        leafIndex?: number | undefined;
        prevRoot?: string | undefined;
        newRoot?: string | undefined;
        serverSignature?: string | undefined;
        serverPublicKey?: string | undefined;
        arkConfirmed?: {
            signature: string;
            recipient: string;
            recipientPublicKey: string;
            timestamp: number;
        } | undefined;
        zipMetadata?: {
            fileName: string;
            fileSize: number;
            fileHash: string;
            contentType: "text" | "wip" | "zip" | "wts";
            localCachePath?: string | undefined;
            downloadedAt?: number | undefined;
        } | undefined;
        decryptError?: string | undefined;
        decryptAttempts?: number | undefined;
        lastDecryptAttemptAt?: number | undefined;
        viewedAt?: number | undefined;
    })[];
    account?: string | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"generate_wts">;
    params: z.ZodObject<{
        myAccount: z.ZodEffects<z.ZodString, string, string>;
        peerAccount: z.ZodUnion<[z.ZodString, z.ZodObject<{
            name_or_address: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
            local_mark_first: z.ZodOptional<z.ZodBoolean>;
        }, "strict", z.ZodTypeAny, {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }, {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        }>]>;
        range: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{} & {
            type: z.ZodLiteral<"time">;
            start: z.ZodNumber;
            end: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            type: "time";
            start: number;
            end: number;
        }, {
            type: "time";
            start: number;
            end: number;
        }>, z.ZodObject<{} & {
            type: z.ZodLiteral<"messageId">;
            start: z.ZodString;
            end: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            type: "messageId";
            start: string;
            end: string;
        }, {
            type: "messageId";
            start: string;
            end: string;
        }>, z.ZodObject<{} & {
            type: z.ZodLiteral<"seqIndex">;
            start: z.ZodNumber;
            end: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            type: "seqIndex";
            start: number;
            end: number;
        }, {
            type: "seqIndex";
            start: number;
            end: number;
        }>]>>;
        excludePlaintext: z.ZodOptional<z.ZodBoolean>;
        outputDir: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        myAccount: string;
        peerAccount: string | {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        };
        outputDir: string;
        range?: {
            type: "time";
            start: number;
            end: number;
        } | {
            type: "messageId";
            start: string;
            end: string;
        } | {
            type: "seqIndex";
            start: number;
            end: number;
        } | undefined;
        excludePlaintext?: boolean | undefined;
    }, {
        myAccount: string;
        peerAccount: string | {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        };
        outputDir: string;
        range?: {
            type: "time";
            start: number;
            end: number;
        } | {
            type: "messageId";
            start: string;
            end: string;
        } | {
            type: "seqIndex";
            start: number;
            end: number;
        } | undefined;
        excludePlaintext?: boolean | undefined;
    }>;
}, "strip", z.ZodTypeAny, {
    params: {
        myAccount: string;
        peerAccount: string | {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        };
        outputDir: string;
        range?: {
            type: "time";
            start: number;
            end: number;
        } | {
            type: "messageId";
            start: string;
            end: string;
        } | {
            type: "seqIndex";
            start: number;
            end: number;
        } | undefined;
        excludePlaintext?: boolean | undefined;
    };
    operation: "generate_wts";
}, {
    params: {
        myAccount: string;
        peerAccount: string | {
            name_or_address?: string | undefined;
            local_mark_first?: boolean | undefined;
        };
        outputDir: string;
        range?: {
            type: "time";
            start: number;
            end: number;
        } | {
            type: "messageId";
            start: string;
            end: string;
        } | {
            type: "seqIndex";
            start: number;
            end: number;
        } | undefined;
        excludePlaintext?: boolean | undefined;
    };
    operation: "generate_wts";
}>, z.ZodObject<{
    operation: z.ZodLiteral<"verify_wts">;
    wtsFilePath: z.ZodString;
}, "strip", z.ZodTypeAny, {
    operation: "verify_wts";
    wtsFilePath: string;
}, {
    operation: "verify_wts";
    wtsFilePath: string;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"sign_wts">;
    wtsFilePath: z.ZodString;
    account: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
    outputPath: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    operation: "sign_wts";
    wtsFilePath: string;
    account?: string | undefined;
    outputPath?: string | undefined;
}, {
    operation: "sign_wts";
    wtsFilePath: string;
    account?: string | undefined;
    outputPath?: string | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"wts2html">;
    wtsPath: z.ZodString;
    options: z.ZodOptional<z.ZodObject<{
        title: z.ZodOptional<z.ZodString>;
        theme: z.ZodOptional<z.ZodEnum<["light", "dark"]>>;
        outputPath: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        title?: string | undefined;
        theme?: "light" | "dark" | undefined;
        outputPath?: string | undefined;
    }, {
        title?: string | undefined;
        theme?: "light" | "dark" | undefined;
        outputPath?: string | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    operation: "wts2html";
    wtsPath: string;
    options?: {
        title?: string | undefined;
        theme?: "light" | "dark" | undefined;
        outputPath?: string | undefined;
    } | undefined;
}, {
    operation: "wts2html";
    wtsPath: string;
    options?: {
        title?: string | undefined;
        theme?: "light" | "dark" | undefined;
        outputPath?: string | undefined;
    } | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"proof_message">;
    account: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
    messageId: z.ZodString;
    network: z.ZodOptional<z.ZodEnum<[import("wowok").ENTRYPOINT.Localnet, import("wowok").ENTRYPOINT.Testnet]>>;
}, "strip", z.ZodTypeAny, {
    operation: "proof_message";
    messageId: string;
    network?: import("wowok").ENTRYPOINT | undefined;
    account?: string | undefined;
}, {
    operation: "proof_message";
    messageId: string;
    network?: import("wowok").ENTRYPOINT | undefined;
    account?: string | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"blacklist">;
    account: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
    blacklist: z.ZodDiscriminatedUnion<"op", [z.ZodObject<{
        op: z.ZodLiteral<"add">;
        users: z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodObject<{
            entities: z.ZodArray<z.ZodObject<{
                name_or_address: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
                local_mark_first: z.ZodOptional<z.ZodBoolean>;
            }, "strict", z.ZodTypeAny, {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }, {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }>, "many">;
            check_all_founded: z.ZodOptional<z.ZodBoolean>;
        }, "strict", z.ZodTypeAny, {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        }, {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        }>]>;
    }, "strip", z.ZodTypeAny, {
        op: "add";
        users: {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        } | string[];
    }, {
        op: "add";
        users: {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        } | string[];
    }>, z.ZodObject<{
        op: z.ZodLiteral<"remove">;
        users: z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodObject<{
            entities: z.ZodArray<z.ZodObject<{
                name_or_address: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
                local_mark_first: z.ZodOptional<z.ZodBoolean>;
            }, "strict", z.ZodTypeAny, {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }, {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }>, "many">;
            check_all_founded: z.ZodOptional<z.ZodBoolean>;
        }, "strict", z.ZodTypeAny, {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        }, {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        }>]>;
    }, "strip", z.ZodTypeAny, {
        op: "remove";
        users: {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        } | string[];
    }, {
        op: "remove";
        users: {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        } | string[];
    }>, z.ZodObject<{
        op: z.ZodLiteral<"clear">;
    }, "strip", z.ZodTypeAny, {
        op: "clear";
    }, {
        op: "clear";
    }>, z.ZodObject<{
        op: z.ZodLiteral<"get">;
    }, "strip", z.ZodTypeAny, {
        op: "get";
    }, {
        op: "get";
    }>, z.ZodObject<{
        op: z.ZodLiteral<"exist">;
        users: z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodObject<{
            entities: z.ZodArray<z.ZodObject<{
                name_or_address: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
                local_mark_first: z.ZodOptional<z.ZodBoolean>;
            }, "strict", z.ZodTypeAny, {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }, {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }>, "many">;
            check_all_founded: z.ZodOptional<z.ZodBoolean>;
        }, "strict", z.ZodTypeAny, {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        }, {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        }>]>;
    }, "strip", z.ZodTypeAny, {
        op: "exist";
        users: {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        } | string[];
    }, {
        op: "exist";
        users: {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        } | string[];
    }>]>;
}, "strip", z.ZodTypeAny, {
    operation: "blacklist";
    blacklist: {
        op: "add";
        users: {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        } | string[];
    } | {
        op: "remove";
        users: {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        } | string[];
    } | {
        op: "clear";
    } | {
        op: "get";
    } | {
        op: "exist";
        users: {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        } | string[];
    };
    account?: string | undefined;
}, {
    operation: "blacklist";
    blacklist: {
        op: "add";
        users: {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        } | string[];
    } | {
        op: "remove";
        users: {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        } | string[];
    } | {
        op: "clear";
    } | {
        op: "get";
    } | {
        op: "exist";
        users: {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        } | string[];
    };
    account?: string | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"friendslist">;
    account: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
    friendslist: z.ZodDiscriminatedUnion<"op", [z.ZodObject<{
        op: z.ZodLiteral<"add">;
        users: z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodObject<{
            entities: z.ZodArray<z.ZodObject<{
                name_or_address: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
                local_mark_first: z.ZodOptional<z.ZodBoolean>;
            }, "strict", z.ZodTypeAny, {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }, {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }>, "many">;
            check_all_founded: z.ZodOptional<z.ZodBoolean>;
        }, "strict", z.ZodTypeAny, {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        }, {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        }>]>;
    }, "strip", z.ZodTypeAny, {
        op: "add";
        users: {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        } | string[];
    }, {
        op: "add";
        users: {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        } | string[];
    }>, z.ZodObject<{
        op: z.ZodLiteral<"remove">;
        users: z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodObject<{
            entities: z.ZodArray<z.ZodObject<{
                name_or_address: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
                local_mark_first: z.ZodOptional<z.ZodBoolean>;
            }, "strict", z.ZodTypeAny, {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }, {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }>, "many">;
            check_all_founded: z.ZodOptional<z.ZodBoolean>;
        }, "strict", z.ZodTypeAny, {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        }, {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        }>]>;
    }, "strip", z.ZodTypeAny, {
        op: "remove";
        users: {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        } | string[];
    }, {
        op: "remove";
        users: {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        } | string[];
    }>, z.ZodObject<{
        op: z.ZodLiteral<"clear">;
    }, "strip", z.ZodTypeAny, {
        op: "clear";
    }, {
        op: "clear";
    }>, z.ZodObject<{
        op: z.ZodLiteral<"get">;
    }, "strip", z.ZodTypeAny, {
        op: "get";
    }, {
        op: "get";
    }>, z.ZodObject<{
        op: z.ZodLiteral<"exist">;
        users: z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodObject<{
            entities: z.ZodArray<z.ZodObject<{
                name_or_address: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
                local_mark_first: z.ZodOptional<z.ZodBoolean>;
            }, "strict", z.ZodTypeAny, {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }, {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }>, "many">;
            check_all_founded: z.ZodOptional<z.ZodBoolean>;
        }, "strict", z.ZodTypeAny, {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        }, {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        }>]>;
    }, "strip", z.ZodTypeAny, {
        op: "exist";
        users: {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        } | string[];
    }, {
        op: "exist";
        users: {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        } | string[];
    }>]>;
}, "strip", z.ZodTypeAny, {
    operation: "friendslist";
    friendslist: {
        op: "add";
        users: {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        } | string[];
    } | {
        op: "remove";
        users: {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        } | string[];
    } | {
        op: "clear";
    } | {
        op: "get";
    } | {
        op: "exist";
        users: {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        } | string[];
    };
    account?: string | undefined;
}, {
    operation: "friendslist";
    friendslist: {
        op: "add";
        users: {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        } | string[];
    } | {
        op: "remove";
        users: {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        } | string[];
    } | {
        op: "clear";
    } | {
        op: "get";
    } | {
        op: "exist";
        users: {
            entities: {
                name_or_address?: string | undefined;
                local_mark_first?: boolean | undefined;
            }[];
            check_all_founded?: boolean | undefined;
        } | string[];
    };
    account?: string | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"guardlist">;
    account: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
    guardlist: z.ZodDiscriminatedUnion<"op", [z.ZodObject<{
        op: z.ZodLiteral<"add">;
        guards: z.ZodArray<z.ZodObject<{
            guard: z.ZodEffects<z.ZodString, string, string>;
            passportValiditySeconds: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            guard: string;
            passportValiditySeconds: number;
        }, {
            guard: string;
            passportValiditySeconds: number;
        }>, "many">;
    }, "strip", z.ZodTypeAny, {
        op: "add";
        guards: {
            guard: string;
            passportValiditySeconds: number;
        }[];
    }, {
        op: "add";
        guards: {
            guard: string;
            passportValiditySeconds: number;
        }[];
    }>, z.ZodObject<{
        op: z.ZodLiteral<"remove">;
        guards: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
    }, "strip", z.ZodTypeAny, {
        op: "remove";
        guards: string[];
    }, {
        op: "remove";
        guards: string[];
    }>, z.ZodObject<{
        op: z.ZodLiteral<"get">;
    }, "strip", z.ZodTypeAny, {
        op: "get";
    }, {
        op: "get";
    }>]>;
}, "strip", z.ZodTypeAny, {
    operation: "guardlist";
    guardlist: {
        op: "add";
        guards: {
            guard: string;
            passportValiditySeconds: number;
        }[];
    } | {
        op: "remove";
        guards: string[];
    } | {
        op: "get";
    };
    account?: string | undefined;
}, {
    operation: "guardlist";
    guardlist: {
        op: "add";
        guards: {
            guard: string;
            passportValiditySeconds: number;
        }[];
    } | {
        op: "remove";
        guards: string[];
    } | {
        op: "get";
    };
    account?: string | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"settings">;
    account: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
    settings: z.ZodDiscriminatedUnion<"op", [z.ZodObject<{
        op: z.ZodLiteral<"get">;
    }, "strip", z.ZodTypeAny, {
        op: "get";
    }, {
        op: "get";
    }>, z.ZodObject<{
        op: z.ZodLiteral<"set">;
        allowStrangerMessages: z.ZodOptional<z.ZodBoolean>;
        maxInboxSize: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        op: "set";
        allowStrangerMessages?: boolean | undefined;
        maxInboxSize?: number | undefined;
    }, {
        op: "set";
        allowStrangerMessages?: boolean | undefined;
        maxInboxSize?: number | undefined;
    }>]>;
}, "strip", z.ZodTypeAny, {
    operation: "settings";
    settings: {
        op: "get";
    } | {
        op: "set";
        allowStrangerMessages?: boolean | undefined;
        maxInboxSize?: number | undefined;
    };
    account?: string | undefined;
}, {
    operation: "settings";
    settings: {
        op: "get";
    } | {
        op: "set";
        allowStrangerMessages?: boolean | undefined;
        maxInboxSize?: number | undefined;
    };
    account?: string | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"mark_messages_as_viewed">;
    account: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
    messageIds: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
    operation: "mark_messages_as_viewed";
    messageIds: string[];
    account?: string | undefined;
}, {
    operation: "mark_messages_as_viewed";
    messageIds: string[];
    account?: string | undefined;
}>, z.ZodObject<{
    operation: z.ZodLiteral<"mark_conversation_as_viewed">;
    account: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
    peerAddress: z.ZodUnion<[z.ZodString, z.ZodObject<{
        name_or_address: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
        local_mark_first: z.ZodOptional<z.ZodBoolean>;
    }, "strict", z.ZodTypeAny, {
        name_or_address?: string | undefined;
        local_mark_first?: boolean | undefined;
    }, {
        name_or_address?: string | undefined;
        local_mark_first?: boolean | undefined;
    }>]>;
}, "strip", z.ZodTypeAny, {
    operation: "mark_conversation_as_viewed";
    peerAddress: string | {
        name_or_address?: string | undefined;
        local_mark_first?: boolean | undefined;
    };
    account?: string | undefined;
}, {
    operation: "mark_conversation_as_viewed";
    peerAddress: string | {
        name_or_address?: string | undefined;
        local_mark_first?: boolean | undefined;
    };
    account?: string | undefined;
}>]>;
export declare const MessengerOperationOutputSchema: z.ZodObject<{
    result: z.ZodDiscriminatedUnion<"operation", [z.ZodObject<{
        operation: z.ZodLiteral<"watch_conversations">;
        result: z.ZodArray<z.ZodObject<{
            peerAddress: z.ZodString;
            lastMessageAt: z.ZodNumber;
            messageCount: z.ZodNumber;
            unreadCount: z.ZodNumber;
            lastMessagePreview: z.ZodOptional<z.ZodString>;
            previewMessages: z.ZodOptional<z.ZodArray<z.ZodObject<{
                messageId: z.ZodString;
                fromAddress: z.ZodString;
                toAddress: z.ZodString;
                plaintextHash: z.ZodString;
                plaintext: z.ZodOptional<z.ZodString>;
                guardAddress: z.ZodOptional<z.ZodString>;
                passportAddress: z.ZodOptional<z.ZodString>;
                lastReceivedLeafIndex: z.ZodOptional<z.ZodNumber>;
                direction: z.ZodEnum<["sent", "received"]>;
                status: z.ZodEnum<["pending", "confirmed", "read", "failed", "rejected", "decrypted", "decrypt_failed"]>;
                msgType: z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<3>]>;
                leafIndex: z.ZodOptional<z.ZodNumber>;
                prevRoot: z.ZodOptional<z.ZodString>;
                newRoot: z.ZodOptional<z.ZodString>;
                serverSignature: z.ZodOptional<z.ZodString>;
                serverTimestamp: z.ZodOptional<z.ZodNumber>;
                serverPublicKey: z.ZodOptional<z.ZodString>;
                arkConfirmed: z.ZodOptional<z.ZodObject<{
                    recipient: z.ZodString;
                    recipientPublicKey: z.ZodString;
                    signature: z.ZodString;
                    timestamp: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    signature: string;
                    recipient: string;
                    recipientPublicKey: string;
                    timestamp: number;
                }, {
                    signature: string;
                    recipient: string;
                    recipientPublicKey: string;
                    timestamp: number;
                }>>;
                createdAt: z.ZodNumber;
                receivedAt: z.ZodOptional<z.ZodNumber>;
                zipMetadata: z.ZodOptional<z.ZodObject<{
                    fileName: z.ZodString;
                    fileSize: z.ZodNumber;
                    fileHash: z.ZodString;
                    contentType: z.ZodEnum<["text", "zip", "wts", "wip"]>;
                    localCachePath: z.ZodOptional<z.ZodString>;
                    downloadedAt: z.ZodOptional<z.ZodNumber>;
                }, "strip", z.ZodTypeAny, {
                    fileName: string;
                    fileSize: number;
                    fileHash: string;
                    contentType: "text" | "wip" | "zip" | "wts";
                    localCachePath?: string | undefined;
                    downloadedAt?: number | undefined;
                }, {
                    fileName: string;
                    fileSize: number;
                    fileHash: string;
                    contentType: "text" | "wip" | "zip" | "wts";
                    localCachePath?: string | undefined;
                    downloadedAt?: number | undefined;
                }>>;
                proof: z.ZodOptional<z.ZodString>;
                decryptError: z.ZodOptional<z.ZodString>;
                decryptAttempts: z.ZodOptional<z.ZodNumber>;
                lastDecryptAttemptAt: z.ZodOptional<z.ZodNumber>;
                viewedAt: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
                createdAt: number;
                messageId: string;
                fromAddress: string;
                toAddress: string;
                plaintextHash: string;
                direction: "received" | "sent";
                msgType: 1 | 3;
                proof?: string | undefined;
                receivedAt?: number | undefined;
                serverTimestamp?: number | undefined;
                plaintext?: string | undefined;
                guardAddress?: string | undefined;
                passportAddress?: string | undefined;
                lastReceivedLeafIndex?: number | undefined;
                leafIndex?: number | undefined;
                prevRoot?: string | undefined;
                newRoot?: string | undefined;
                serverSignature?: string | undefined;
                serverPublicKey?: string | undefined;
                arkConfirmed?: {
                    signature: string;
                    recipient: string;
                    recipientPublicKey: string;
                    timestamp: number;
                } | undefined;
                zipMetadata?: {
                    fileName: string;
                    fileSize: number;
                    fileHash: string;
                    contentType: "text" | "wip" | "zip" | "wts";
                    localCachePath?: string | undefined;
                    downloadedAt?: number | undefined;
                } | undefined;
                decryptError?: string | undefined;
                decryptAttempts?: number | undefined;
                lastDecryptAttemptAt?: number | undefined;
                viewedAt?: number | undefined;
            }, {
                status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
                createdAt: number;
                messageId: string;
                fromAddress: string;
                toAddress: string;
                plaintextHash: string;
                direction: "received" | "sent";
                msgType: 1 | 3;
                proof?: string | undefined;
                receivedAt?: number | undefined;
                serverTimestamp?: number | undefined;
                plaintext?: string | undefined;
                guardAddress?: string | undefined;
                passportAddress?: string | undefined;
                lastReceivedLeafIndex?: number | undefined;
                leafIndex?: number | undefined;
                prevRoot?: string | undefined;
                newRoot?: string | undefined;
                serverSignature?: string | undefined;
                serverPublicKey?: string | undefined;
                arkConfirmed?: {
                    signature: string;
                    recipient: string;
                    recipientPublicKey: string;
                    timestamp: number;
                } | undefined;
                zipMetadata?: {
                    fileName: string;
                    fileSize: number;
                    fileHash: string;
                    contentType: "text" | "wip" | "zip" | "wts";
                    localCachePath?: string | undefined;
                    downloadedAt?: number | undefined;
                } | undefined;
                decryptError?: string | undefined;
                decryptAttempts?: number | undefined;
                lastDecryptAttemptAt?: number | undefined;
                viewedAt?: number | undefined;
            }>, "many">>;
        }, "strip", z.ZodTypeAny, {
            peerAddress: string;
            lastMessageAt: number;
            messageCount: number;
            unreadCount: number;
            lastMessagePreview?: string | undefined;
            previewMessages?: {
                status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
                createdAt: number;
                messageId: string;
                fromAddress: string;
                toAddress: string;
                plaintextHash: string;
                direction: "received" | "sent";
                msgType: 1 | 3;
                proof?: string | undefined;
                receivedAt?: number | undefined;
                serverTimestamp?: number | undefined;
                plaintext?: string | undefined;
                guardAddress?: string | undefined;
                passportAddress?: string | undefined;
                lastReceivedLeafIndex?: number | undefined;
                leafIndex?: number | undefined;
                prevRoot?: string | undefined;
                newRoot?: string | undefined;
                serverSignature?: string | undefined;
                serverPublicKey?: string | undefined;
                arkConfirmed?: {
                    signature: string;
                    recipient: string;
                    recipientPublicKey: string;
                    timestamp: number;
                } | undefined;
                zipMetadata?: {
                    fileName: string;
                    fileSize: number;
                    fileHash: string;
                    contentType: "text" | "wip" | "zip" | "wts";
                    localCachePath?: string | undefined;
                    downloadedAt?: number | undefined;
                } | undefined;
                decryptError?: string | undefined;
                decryptAttempts?: number | undefined;
                lastDecryptAttemptAt?: number | undefined;
                viewedAt?: number | undefined;
            }[] | undefined;
        }, {
            peerAddress: string;
            lastMessageAt: number;
            messageCount: number;
            unreadCount: number;
            lastMessagePreview?: string | undefined;
            previewMessages?: {
                status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
                createdAt: number;
                messageId: string;
                fromAddress: string;
                toAddress: string;
                plaintextHash: string;
                direction: "received" | "sent";
                msgType: 1 | 3;
                proof?: string | undefined;
                receivedAt?: number | undefined;
                serverTimestamp?: number | undefined;
                plaintext?: string | undefined;
                guardAddress?: string | undefined;
                passportAddress?: string | undefined;
                lastReceivedLeafIndex?: number | undefined;
                leafIndex?: number | undefined;
                prevRoot?: string | undefined;
                newRoot?: string | undefined;
                serverSignature?: string | undefined;
                serverPublicKey?: string | undefined;
                arkConfirmed?: {
                    signature: string;
                    recipient: string;
                    recipientPublicKey: string;
                    timestamp: number;
                } | undefined;
                zipMetadata?: {
                    fileName: string;
                    fileSize: number;
                    fileHash: string;
                    contentType: "text" | "wip" | "zip" | "wts";
                    localCachePath?: string | undefined;
                    downloadedAt?: number | undefined;
                } | undefined;
                decryptError?: string | undefined;
                decryptAttempts?: number | undefined;
                lastDecryptAttemptAt?: number | undefined;
                viewedAt?: number | undefined;
            }[] | undefined;
        }>, "many">;
    }, "strip", z.ZodTypeAny, {
        result: {
            peerAddress: string;
            lastMessageAt: number;
            messageCount: number;
            unreadCount: number;
            lastMessagePreview?: string | undefined;
            previewMessages?: {
                status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
                createdAt: number;
                messageId: string;
                fromAddress: string;
                toAddress: string;
                plaintextHash: string;
                direction: "received" | "sent";
                msgType: 1 | 3;
                proof?: string | undefined;
                receivedAt?: number | undefined;
                serverTimestamp?: number | undefined;
                plaintext?: string | undefined;
                guardAddress?: string | undefined;
                passportAddress?: string | undefined;
                lastReceivedLeafIndex?: number | undefined;
                leafIndex?: number | undefined;
                prevRoot?: string | undefined;
                newRoot?: string | undefined;
                serverSignature?: string | undefined;
                serverPublicKey?: string | undefined;
                arkConfirmed?: {
                    signature: string;
                    recipient: string;
                    recipientPublicKey: string;
                    timestamp: number;
                } | undefined;
                zipMetadata?: {
                    fileName: string;
                    fileSize: number;
                    fileHash: string;
                    contentType: "text" | "wip" | "zip" | "wts";
                    localCachePath?: string | undefined;
                    downloadedAt?: number | undefined;
                } | undefined;
                decryptError?: string | undefined;
                decryptAttempts?: number | undefined;
                lastDecryptAttemptAt?: number | undefined;
                viewedAt?: number | undefined;
            }[] | undefined;
        }[];
        operation: "watch_conversations";
    }, {
        result: {
            peerAddress: string;
            lastMessageAt: number;
            messageCount: number;
            unreadCount: number;
            lastMessagePreview?: string | undefined;
            previewMessages?: {
                status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
                createdAt: number;
                messageId: string;
                fromAddress: string;
                toAddress: string;
                plaintextHash: string;
                direction: "received" | "sent";
                msgType: 1 | 3;
                proof?: string | undefined;
                receivedAt?: number | undefined;
                serverTimestamp?: number | undefined;
                plaintext?: string | undefined;
                guardAddress?: string | undefined;
                passportAddress?: string | undefined;
                lastReceivedLeafIndex?: number | undefined;
                leafIndex?: number | undefined;
                prevRoot?: string | undefined;
                newRoot?: string | undefined;
                serverSignature?: string | undefined;
                serverPublicKey?: string | undefined;
                arkConfirmed?: {
                    signature: string;
                    recipient: string;
                    recipientPublicKey: string;
                    timestamp: number;
                } | undefined;
                zipMetadata?: {
                    fileName: string;
                    fileSize: number;
                    fileHash: string;
                    contentType: "text" | "wip" | "zip" | "wts";
                    localCachePath?: string | undefined;
                    downloadedAt?: number | undefined;
                } | undefined;
                decryptError?: string | undefined;
                decryptAttempts?: number | undefined;
                lastDecryptAttemptAt?: number | undefined;
                viewedAt?: number | undefined;
            }[] | undefined;
        }[];
        operation: "watch_conversations";
    }>, z.ZodObject<{
        operation: z.ZodLiteral<"send_message">;
        result: z.ZodObject<{
            messageId: z.ZodString;
            status: z.ZodEnum<["pending", "confirmed", "read", "failed", "rejected", "decrypted", "decrypt_failed"]>;
            merkleData: z.ZodOptional<z.ZodObject<{
                leafIndex: z.ZodNumber;
                prevRoot: z.ZodString;
                newRoot: z.ZodString;
                serverSignature: z.ZodString;
                serverTimestamp: z.ZodNumber;
                serverPublicKey: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                serverTimestamp: number;
                leafIndex: number;
                prevRoot: string;
                newRoot: string;
                serverSignature: string;
                serverPublicKey: string;
            }, {
                serverTimestamp: number;
                leafIndex: number;
                prevRoot: string;
                newRoot: string;
                serverSignature: string;
                serverPublicKey: string;
            }>>;
            guardList: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            lastReceivedLeafIndex: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
            messageId: string;
            lastReceivedLeafIndex?: number | undefined;
            merkleData?: {
                serverTimestamp: number;
                leafIndex: number;
                prevRoot: string;
                newRoot: string;
                serverSignature: string;
                serverPublicKey: string;
            } | undefined;
            guardList?: string[] | undefined;
        }, {
            status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
            messageId: string;
            lastReceivedLeafIndex?: number | undefined;
            merkleData?: {
                serverTimestamp: number;
                leafIndex: number;
                prevRoot: string;
                newRoot: string;
                serverSignature: string;
                serverPublicKey: string;
            } | undefined;
            guardList?: string[] | undefined;
        }>;
    }, "strip", z.ZodTypeAny, {
        result: {
            status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
            messageId: string;
            lastReceivedLeafIndex?: number | undefined;
            merkleData?: {
                serverTimestamp: number;
                leafIndex: number;
                prevRoot: string;
                newRoot: string;
                serverSignature: string;
                serverPublicKey: string;
            } | undefined;
            guardList?: string[] | undefined;
        };
        operation: "send_message";
    }, {
        result: {
            status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
            messageId: string;
            lastReceivedLeafIndex?: number | undefined;
            merkleData?: {
                serverTimestamp: number;
                leafIndex: number;
                prevRoot: string;
                newRoot: string;
                serverSignature: string;
                serverPublicKey: string;
            } | undefined;
            guardList?: string[] | undefined;
        };
        operation: "send_message";
    }>, z.ZodObject<{
        operation: z.ZodLiteral<"send_file">;
        result: z.ZodObject<{
            messageId: z.ZodString;
            status: z.ZodEnum<["pending", "confirmed", "read", "failed", "rejected", "decrypted", "decrypt_failed"]>;
            merkleData: z.ZodOptional<z.ZodObject<{
                leafIndex: z.ZodNumber;
                prevRoot: z.ZodString;
                newRoot: z.ZodString;
                serverSignature: z.ZodString;
                serverTimestamp: z.ZodNumber;
                serverPublicKey: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                serverTimestamp: number;
                leafIndex: number;
                prevRoot: string;
                newRoot: string;
                serverSignature: string;
                serverPublicKey: string;
            }, {
                serverTimestamp: number;
                leafIndex: number;
                prevRoot: string;
                newRoot: string;
                serverSignature: string;
                serverPublicKey: string;
            }>>;
            guardList: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            lastReceivedLeafIndex: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
            messageId: string;
            lastReceivedLeafIndex?: number | undefined;
            merkleData?: {
                serverTimestamp: number;
                leafIndex: number;
                prevRoot: string;
                newRoot: string;
                serverSignature: string;
                serverPublicKey: string;
            } | undefined;
            guardList?: string[] | undefined;
        }, {
            status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
            messageId: string;
            lastReceivedLeafIndex?: number | undefined;
            merkleData?: {
                serverTimestamp: number;
                leafIndex: number;
                prevRoot: string;
                newRoot: string;
                serverSignature: string;
                serverPublicKey: string;
            } | undefined;
            guardList?: string[] | undefined;
        }>;
    }, "strip", z.ZodTypeAny, {
        result: {
            status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
            messageId: string;
            lastReceivedLeafIndex?: number | undefined;
            merkleData?: {
                serverTimestamp: number;
                leafIndex: number;
                prevRoot: string;
                newRoot: string;
                serverSignature: string;
                serverPublicKey: string;
            } | undefined;
            guardList?: string[] | undefined;
        };
        operation: "send_file";
    }, {
        result: {
            status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
            messageId: string;
            lastReceivedLeafIndex?: number | undefined;
            merkleData?: {
                serverTimestamp: number;
                leafIndex: number;
                prevRoot: string;
                newRoot: string;
                serverSignature: string;
                serverPublicKey: string;
            } | undefined;
            guardList?: string[] | undefined;
        };
        operation: "send_file";
    }>, z.ZodObject<{
        operation: z.ZodLiteral<"watch_messages">;
        result: z.ZodArray<z.ZodObject<{
            messageId: z.ZodString;
            fromAddress: z.ZodString;
            toAddress: z.ZodString;
            plaintextHash: z.ZodString;
            plaintext: z.ZodOptional<z.ZodString>;
            guardAddress: z.ZodOptional<z.ZodString>;
            passportAddress: z.ZodOptional<z.ZodString>;
            lastReceivedLeafIndex: z.ZodOptional<z.ZodNumber>;
            direction: z.ZodEnum<["sent", "received"]>;
            status: z.ZodEnum<["pending", "confirmed", "read", "failed", "rejected", "decrypted", "decrypt_failed"]>;
            msgType: z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<3>]>;
            leafIndex: z.ZodOptional<z.ZodNumber>;
            prevRoot: z.ZodOptional<z.ZodString>;
            newRoot: z.ZodOptional<z.ZodString>;
            serverSignature: z.ZodOptional<z.ZodString>;
            serverTimestamp: z.ZodOptional<z.ZodNumber>;
            serverPublicKey: z.ZodOptional<z.ZodString>;
            arkConfirmed: z.ZodOptional<z.ZodObject<{
                recipient: z.ZodString;
                recipientPublicKey: z.ZodString;
                signature: z.ZodString;
                timestamp: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                signature: string;
                recipient: string;
                recipientPublicKey: string;
                timestamp: number;
            }, {
                signature: string;
                recipient: string;
                recipientPublicKey: string;
                timestamp: number;
            }>>;
            createdAt: z.ZodNumber;
            receivedAt: z.ZodOptional<z.ZodNumber>;
            zipMetadata: z.ZodOptional<z.ZodObject<{
                fileName: z.ZodString;
                fileSize: z.ZodNumber;
                fileHash: z.ZodString;
                contentType: z.ZodEnum<["text", "zip", "wts", "wip"]>;
                localCachePath: z.ZodOptional<z.ZodString>;
                downloadedAt: z.ZodOptional<z.ZodNumber>;
            }, "strip", z.ZodTypeAny, {
                fileName: string;
                fileSize: number;
                fileHash: string;
                contentType: "text" | "wip" | "zip" | "wts";
                localCachePath?: string | undefined;
                downloadedAt?: number | undefined;
            }, {
                fileName: string;
                fileSize: number;
                fileHash: string;
                contentType: "text" | "wip" | "zip" | "wts";
                localCachePath?: string | undefined;
                downloadedAt?: number | undefined;
            }>>;
            proof: z.ZodOptional<z.ZodString>;
            decryptError: z.ZodOptional<z.ZodString>;
            decryptAttempts: z.ZodOptional<z.ZodNumber>;
            lastDecryptAttemptAt: z.ZodOptional<z.ZodNumber>;
            viewedAt: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
            createdAt: number;
            messageId: string;
            fromAddress: string;
            toAddress: string;
            plaintextHash: string;
            direction: "received" | "sent";
            msgType: 1 | 3;
            proof?: string | undefined;
            receivedAt?: number | undefined;
            serverTimestamp?: number | undefined;
            plaintext?: string | undefined;
            guardAddress?: string | undefined;
            passportAddress?: string | undefined;
            lastReceivedLeafIndex?: number | undefined;
            leafIndex?: number | undefined;
            prevRoot?: string | undefined;
            newRoot?: string | undefined;
            serverSignature?: string | undefined;
            serverPublicKey?: string | undefined;
            arkConfirmed?: {
                signature: string;
                recipient: string;
                recipientPublicKey: string;
                timestamp: number;
            } | undefined;
            zipMetadata?: {
                fileName: string;
                fileSize: number;
                fileHash: string;
                contentType: "text" | "wip" | "zip" | "wts";
                localCachePath?: string | undefined;
                downloadedAt?: number | undefined;
            } | undefined;
            decryptError?: string | undefined;
            decryptAttempts?: number | undefined;
            lastDecryptAttemptAt?: number | undefined;
            viewedAt?: number | undefined;
        }, {
            status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
            createdAt: number;
            messageId: string;
            fromAddress: string;
            toAddress: string;
            plaintextHash: string;
            direction: "received" | "sent";
            msgType: 1 | 3;
            proof?: string | undefined;
            receivedAt?: number | undefined;
            serverTimestamp?: number | undefined;
            plaintext?: string | undefined;
            guardAddress?: string | undefined;
            passportAddress?: string | undefined;
            lastReceivedLeafIndex?: number | undefined;
            leafIndex?: number | undefined;
            prevRoot?: string | undefined;
            newRoot?: string | undefined;
            serverSignature?: string | undefined;
            serverPublicKey?: string | undefined;
            arkConfirmed?: {
                signature: string;
                recipient: string;
                recipientPublicKey: string;
                timestamp: number;
            } | undefined;
            zipMetadata?: {
                fileName: string;
                fileSize: number;
                fileHash: string;
                contentType: "text" | "wip" | "zip" | "wts";
                localCachePath?: string | undefined;
                downloadedAt?: number | undefined;
            } | undefined;
            decryptError?: string | undefined;
            decryptAttempts?: number | undefined;
            lastDecryptAttemptAt?: number | undefined;
            viewedAt?: number | undefined;
        }>, "many">;
    }, "strip", z.ZodTypeAny, {
        result: {
            status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
            createdAt: number;
            messageId: string;
            fromAddress: string;
            toAddress: string;
            plaintextHash: string;
            direction: "received" | "sent";
            msgType: 1 | 3;
            proof?: string | undefined;
            receivedAt?: number | undefined;
            serverTimestamp?: number | undefined;
            plaintext?: string | undefined;
            guardAddress?: string | undefined;
            passportAddress?: string | undefined;
            lastReceivedLeafIndex?: number | undefined;
            leafIndex?: number | undefined;
            prevRoot?: string | undefined;
            newRoot?: string | undefined;
            serverSignature?: string | undefined;
            serverPublicKey?: string | undefined;
            arkConfirmed?: {
                signature: string;
                recipient: string;
                recipientPublicKey: string;
                timestamp: number;
            } | undefined;
            zipMetadata?: {
                fileName: string;
                fileSize: number;
                fileHash: string;
                contentType: "text" | "wip" | "zip" | "wts";
                localCachePath?: string | undefined;
                downloadedAt?: number | undefined;
            } | undefined;
            decryptError?: string | undefined;
            decryptAttempts?: number | undefined;
            lastDecryptAttemptAt?: number | undefined;
            viewedAt?: number | undefined;
        }[];
        operation: "watch_messages";
    }, {
        result: {
            status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
            createdAt: number;
            messageId: string;
            fromAddress: string;
            toAddress: string;
            plaintextHash: string;
            direction: "received" | "sent";
            msgType: 1 | 3;
            proof?: string | undefined;
            receivedAt?: number | undefined;
            serverTimestamp?: number | undefined;
            plaintext?: string | undefined;
            guardAddress?: string | undefined;
            passportAddress?: string | undefined;
            lastReceivedLeafIndex?: number | undefined;
            leafIndex?: number | undefined;
            prevRoot?: string | undefined;
            newRoot?: string | undefined;
            serverSignature?: string | undefined;
            serverPublicKey?: string | undefined;
            arkConfirmed?: {
                signature: string;
                recipient: string;
                recipientPublicKey: string;
                timestamp: number;
            } | undefined;
            zipMetadata?: {
                fileName: string;
                fileSize: number;
                fileHash: string;
                contentType: "text" | "wip" | "zip" | "wts";
                localCachePath?: string | undefined;
                downloadedAt?: number | undefined;
            } | undefined;
            decryptError?: string | undefined;
            decryptAttempts?: number | undefined;
            lastDecryptAttemptAt?: number | undefined;
            viewedAt?: number | undefined;
        }[];
        operation: "watch_messages";
    }>, z.ZodObject<{
        operation: z.ZodLiteral<"extract_zip_messages">;
        result: z.ZodArray<z.ZodString, "many">;
    }, "strip", z.ZodTypeAny, {
        result: string[];
        operation: "extract_zip_messages";
    }, {
        result: string[];
        operation: "extract_zip_messages";
    }>, z.ZodObject<{
        operation: z.ZodLiteral<"generate_wts">;
        result: z.ZodObject<{
            files: z.ZodArray<z.ZodString, "many">;
            totalMessageCount: z.ZodNumber;
            timeRange: z.ZodObject<{
                start: z.ZodNumber;
                end: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                start: number;
                end: number;
            }, {
                start: number;
                end: number;
            }>;
        }, "strip", z.ZodTypeAny, {
            files: string[];
            totalMessageCount: number;
            timeRange: {
                start: number;
                end: number;
            };
        }, {
            files: string[];
            totalMessageCount: number;
            timeRange: {
                start: number;
                end: number;
            };
        }>;
    }, "strip", z.ZodTypeAny, {
        result: {
            files: string[];
            totalMessageCount: number;
            timeRange: {
                start: number;
                end: number;
            };
        };
        operation: "generate_wts";
    }, {
        result: {
            files: string[];
            totalMessageCount: number;
            timeRange: {
                start: number;
                end: number;
            };
        };
        operation: "generate_wts";
    }>, z.ZodObject<{
        operation: z.ZodLiteral<"verify_wts">;
        result: z.ZodObject<{
            valid: z.ZodBoolean;
            error: z.ZodOptional<z.ZodString>;
            hashValid: z.ZodOptional<z.ZodBoolean>;
            hasSignature: z.ZodOptional<z.ZodBoolean>;
            signatureValid: z.ZodOptional<z.ZodBoolean>;
            signatures: z.ZodOptional<z.ZodArray<z.ZodObject<{
                publicKey: z.ZodString;
                address: z.ZodOptional<z.ZodString>;
                valid: z.ZodBoolean;
            }, "strip", z.ZodTypeAny, {
                valid: boolean;
                publicKey: string;
                address?: string | undefined;
            }, {
                valid: boolean;
                publicKey: string;
                address?: string | undefined;
            }>, "many">>;
        }, "strip", z.ZodTypeAny, {
            valid: boolean;
            error?: string | undefined;
            hashValid?: boolean | undefined;
            signatureValid?: boolean | undefined;
            hasSignature?: boolean | undefined;
            signatures?: {
                valid: boolean;
                publicKey: string;
                address?: string | undefined;
            }[] | undefined;
        }, {
            valid: boolean;
            error?: string | undefined;
            hashValid?: boolean | undefined;
            signatureValid?: boolean | undefined;
            hasSignature?: boolean | undefined;
            signatures?: {
                valid: boolean;
                publicKey: string;
                address?: string | undefined;
            }[] | undefined;
        }>;
    }, "strip", z.ZodTypeAny, {
        result: {
            valid: boolean;
            error?: string | undefined;
            hashValid?: boolean | undefined;
            signatureValid?: boolean | undefined;
            hasSignature?: boolean | undefined;
            signatures?: {
                valid: boolean;
                publicKey: string;
                address?: string | undefined;
            }[] | undefined;
        };
        operation: "verify_wts";
    }, {
        result: {
            valid: boolean;
            error?: string | undefined;
            hashValid?: boolean | undefined;
            signatureValid?: boolean | undefined;
            hasSignature?: boolean | undefined;
            signatures?: {
                valid: boolean;
                publicKey: string;
                address?: string | undefined;
            }[] | undefined;
        };
        operation: "verify_wts";
    }>, z.ZodObject<{
        operation: z.ZodLiteral<"sign_wts">;
        result: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        result: string;
        operation: "sign_wts";
    }, {
        result: string;
        operation: "sign_wts";
    }>, z.ZodObject<{
        operation: z.ZodLiteral<"wts2html">;
        result: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
    }, "strip", z.ZodTypeAny, {
        result: string | string[];
        operation: "wts2html";
    }, {
        result: string | string[];
        operation: "wts2html";
    }>, z.ZodObject<{
        operation: z.ZodLiteral<"proof_message">;
        result: z.ZodObject<{
            proofAddress: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            proofAddress: string;
        }, {
            proofAddress: string;
        }>;
    }, "strip", z.ZodTypeAny, {
        result: {
            proofAddress: string;
        };
        operation: "proof_message";
    }, {
        result: {
            proofAddress: string;
        };
        operation: "proof_message";
    }>, z.ZodObject<{
        operation: z.ZodLiteral<"blacklist">;
        op: z.ZodEnum<["add", "remove", "clear", "get", "exist"]>;
        result: z.ZodUnion<[z.ZodObject<{
            success: z.ZodBoolean;
            operation: z.ZodString;
            modifiedCount: z.ZodNumber;
            currentCount: z.ZodNumber;
            maxCount: z.ZodNumber;
            invalidAddresses: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
            existResults: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
                address: z.ZodString;
                exists: z.ZodBoolean;
            }, "strip", z.ZodTypeAny, {
                address: string;
                exists: boolean;
            }, {
                address: string;
                exists: boolean;
            }>, "many">>>;
            message: z.ZodNullable<z.ZodOptional<z.ZodString>>;
            currentList: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
            currentGuardList: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
                guardAddress: z.ZodString;
                passportValiditySeconds: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                guardAddress: string;
                passportValiditySeconds: number;
            }, {
                guardAddress: string;
                passportValiditySeconds: number;
            }>, "many">>>;
        }, "strip", z.ZodTypeAny, {
            success: boolean;
            operation: string;
            modifiedCount: number;
            currentCount: number;
            maxCount: number;
            message?: string | null | undefined;
            invalidAddresses?: string[] | null | undefined;
            existResults?: {
                address: string;
                exists: boolean;
            }[] | null | undefined;
            currentList?: string[] | null | undefined;
            currentGuardList?: {
                guardAddress: string;
                passportValiditySeconds: number;
            }[] | null | undefined;
        }, {
            success: boolean;
            operation: string;
            modifiedCount: number;
            currentCount: number;
            maxCount: number;
            message?: string | null | undefined;
            invalidAddresses?: string[] | null | undefined;
            existResults?: {
                address: string;
                exists: boolean;
            }[] | null | undefined;
            currentList?: string[] | null | undefined;
            currentGuardList?: {
                guardAddress: string;
                passportValiditySeconds: number;
            }[] | null | undefined;
        }>, z.ZodArray<z.ZodString, "many">]>;
    }, "strip", z.ZodTypeAny, {
        result: string[] | {
            success: boolean;
            operation: string;
            modifiedCount: number;
            currentCount: number;
            maxCount: number;
            message?: string | null | undefined;
            invalidAddresses?: string[] | null | undefined;
            existResults?: {
                address: string;
                exists: boolean;
            }[] | null | undefined;
            currentList?: string[] | null | undefined;
            currentGuardList?: {
                guardAddress: string;
                passportValiditySeconds: number;
            }[] | null | undefined;
        };
        op: "get" | "add" | "remove" | "clear" | "exist";
        operation: "blacklist";
    }, {
        result: string[] | {
            success: boolean;
            operation: string;
            modifiedCount: number;
            currentCount: number;
            maxCount: number;
            message?: string | null | undefined;
            invalidAddresses?: string[] | null | undefined;
            existResults?: {
                address: string;
                exists: boolean;
            }[] | null | undefined;
            currentList?: string[] | null | undefined;
            currentGuardList?: {
                guardAddress: string;
                passportValiditySeconds: number;
            }[] | null | undefined;
        };
        op: "get" | "add" | "remove" | "clear" | "exist";
        operation: "blacklist";
    }>, z.ZodObject<{
        operation: z.ZodLiteral<"friendslist">;
        op: z.ZodEnum<["add", "remove", "clear", "get", "exist"]>;
        result: z.ZodUnion<[z.ZodObject<{
            success: z.ZodBoolean;
            operation: z.ZodString;
            modifiedCount: z.ZodNumber;
            currentCount: z.ZodNumber;
            maxCount: z.ZodNumber;
            invalidAddresses: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
            existResults: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
                address: z.ZodString;
                exists: z.ZodBoolean;
            }, "strip", z.ZodTypeAny, {
                address: string;
                exists: boolean;
            }, {
                address: string;
                exists: boolean;
            }>, "many">>>;
            message: z.ZodNullable<z.ZodOptional<z.ZodString>>;
            currentList: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
            currentGuardList: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
                guardAddress: z.ZodString;
                passportValiditySeconds: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                guardAddress: string;
                passportValiditySeconds: number;
            }, {
                guardAddress: string;
                passportValiditySeconds: number;
            }>, "many">>>;
        }, "strip", z.ZodTypeAny, {
            success: boolean;
            operation: string;
            modifiedCount: number;
            currentCount: number;
            maxCount: number;
            message?: string | null | undefined;
            invalidAddresses?: string[] | null | undefined;
            existResults?: {
                address: string;
                exists: boolean;
            }[] | null | undefined;
            currentList?: string[] | null | undefined;
            currentGuardList?: {
                guardAddress: string;
                passportValiditySeconds: number;
            }[] | null | undefined;
        }, {
            success: boolean;
            operation: string;
            modifiedCount: number;
            currentCount: number;
            maxCount: number;
            message?: string | null | undefined;
            invalidAddresses?: string[] | null | undefined;
            existResults?: {
                address: string;
                exists: boolean;
            }[] | null | undefined;
            currentList?: string[] | null | undefined;
            currentGuardList?: {
                guardAddress: string;
                passportValiditySeconds: number;
            }[] | null | undefined;
        }>, z.ZodArray<z.ZodString, "many">]>;
    }, "strip", z.ZodTypeAny, {
        result: string[] | {
            success: boolean;
            operation: string;
            modifiedCount: number;
            currentCount: number;
            maxCount: number;
            message?: string | null | undefined;
            invalidAddresses?: string[] | null | undefined;
            existResults?: {
                address: string;
                exists: boolean;
            }[] | null | undefined;
            currentList?: string[] | null | undefined;
            currentGuardList?: {
                guardAddress: string;
                passportValiditySeconds: number;
            }[] | null | undefined;
        };
        op: "get" | "add" | "remove" | "clear" | "exist";
        operation: "friendslist";
    }, {
        result: string[] | {
            success: boolean;
            operation: string;
            modifiedCount: number;
            currentCount: number;
            maxCount: number;
            message?: string | null | undefined;
            invalidAddresses?: string[] | null | undefined;
            existResults?: {
                address: string;
                exists: boolean;
            }[] | null | undefined;
            currentList?: string[] | null | undefined;
            currentGuardList?: {
                guardAddress: string;
                passportValiditySeconds: number;
            }[] | null | undefined;
        };
        op: "get" | "add" | "remove" | "clear" | "exist";
        operation: "friendslist";
    }>, z.ZodObject<{
        operation: z.ZodLiteral<"guardlist">;
        op: z.ZodEnum<["add", "remove", "get"]>;
        result: z.ZodObject<{
            success: z.ZodBoolean;
            operation: z.ZodString;
            modifiedCount: z.ZodNumber;
            currentCount: z.ZodNumber;
            maxCount: z.ZodNumber;
            invalidAddresses: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
            existResults: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
                address: z.ZodString;
                exists: z.ZodBoolean;
            }, "strip", z.ZodTypeAny, {
                address: string;
                exists: boolean;
            }, {
                address: string;
                exists: boolean;
            }>, "many">>>;
            message: z.ZodNullable<z.ZodOptional<z.ZodString>>;
            currentList: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
            currentGuardList: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
                guardAddress: z.ZodString;
                passportValiditySeconds: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                guardAddress: string;
                passportValiditySeconds: number;
            }, {
                guardAddress: string;
                passportValiditySeconds: number;
            }>, "many">>>;
        }, "strip", z.ZodTypeAny, {
            success: boolean;
            operation: string;
            modifiedCount: number;
            currentCount: number;
            maxCount: number;
            message?: string | null | undefined;
            invalidAddresses?: string[] | null | undefined;
            existResults?: {
                address: string;
                exists: boolean;
            }[] | null | undefined;
            currentList?: string[] | null | undefined;
            currentGuardList?: {
                guardAddress: string;
                passportValiditySeconds: number;
            }[] | null | undefined;
        }, {
            success: boolean;
            operation: string;
            modifiedCount: number;
            currentCount: number;
            maxCount: number;
            message?: string | null | undefined;
            invalidAddresses?: string[] | null | undefined;
            existResults?: {
                address: string;
                exists: boolean;
            }[] | null | undefined;
            currentList?: string[] | null | undefined;
            currentGuardList?: {
                guardAddress: string;
                passportValiditySeconds: number;
            }[] | null | undefined;
        }>;
    }, "strip", z.ZodTypeAny, {
        result: {
            success: boolean;
            operation: string;
            modifiedCount: number;
            currentCount: number;
            maxCount: number;
            message?: string | null | undefined;
            invalidAddresses?: string[] | null | undefined;
            existResults?: {
                address: string;
                exists: boolean;
            }[] | null | undefined;
            currentList?: string[] | null | undefined;
            currentGuardList?: {
                guardAddress: string;
                passportValiditySeconds: number;
            }[] | null | undefined;
        };
        op: "get" | "add" | "remove";
        operation: "guardlist";
    }, {
        result: {
            success: boolean;
            operation: string;
            modifiedCount: number;
            currentCount: number;
            maxCount: number;
            message?: string | null | undefined;
            invalidAddresses?: string[] | null | undefined;
            existResults?: {
                address: string;
                exists: boolean;
            }[] | null | undefined;
            currentList?: string[] | null | undefined;
            currentGuardList?: {
                guardAddress: string;
                passportValiditySeconds: number;
            }[] | null | undefined;
        };
        op: "get" | "add" | "remove";
        operation: "guardlist";
    }>, z.ZodObject<{
        operation: z.ZodLiteral<"settings">;
        op: z.ZodEnum<["get", "set"]>;
        result: z.ZodUnion<[z.ZodObject<{
            allowStrangerMessages: z.ZodOptional<z.ZodBoolean>;
            maxInboxSize: z.ZodOptional<z.ZodNumber>;
            minUserInboxSize: z.ZodNumber;
            maxUserInboxSize: z.ZodNumber;
            defaultAllowStrangerMessages: z.ZodBoolean;
        }, "strip", z.ZodTypeAny, {
            minUserInboxSize: number;
            maxUserInboxSize: number;
            defaultAllowStrangerMessages: boolean;
            allowStrangerMessages?: boolean | undefined;
            maxInboxSize?: number | undefined;
        }, {
            minUserInboxSize: number;
            maxUserInboxSize: number;
            defaultAllowStrangerMessages: boolean;
            allowStrangerMessages?: boolean | undefined;
            maxInboxSize?: number | undefined;
        }>, z.ZodBoolean]>;
    }, "strip", z.ZodTypeAny, {
        result: boolean | {
            minUserInboxSize: number;
            maxUserInboxSize: number;
            defaultAllowStrangerMessages: boolean;
            allowStrangerMessages?: boolean | undefined;
            maxInboxSize?: number | undefined;
        };
        op: "set" | "get";
        operation: "settings";
    }, {
        result: boolean | {
            minUserInboxSize: number;
            maxUserInboxSize: number;
            defaultAllowStrangerMessages: boolean;
            allowStrangerMessages?: boolean | undefined;
            maxInboxSize?: number | undefined;
        };
        op: "set" | "get";
        operation: "settings";
    }>, z.ZodObject<{
        operation: z.ZodLiteral<"mark_messages_as_viewed">;
        result: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        result: number;
        operation: "mark_messages_as_viewed";
    }, {
        result: number;
        operation: "mark_messages_as_viewed";
    }>, z.ZodObject<{
        operation: z.ZodLiteral<"mark_conversation_as_viewed">;
        result: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        result: number;
        operation: "mark_conversation_as_viewed";
    }, {
        result: number;
        operation: "mark_conversation_as_viewed";
    }>]>;
}, "strip", z.ZodTypeAny, {
    result: {
        result: {
            peerAddress: string;
            lastMessageAt: number;
            messageCount: number;
            unreadCount: number;
            lastMessagePreview?: string | undefined;
            previewMessages?: {
                status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
                createdAt: number;
                messageId: string;
                fromAddress: string;
                toAddress: string;
                plaintextHash: string;
                direction: "received" | "sent";
                msgType: 1 | 3;
                proof?: string | undefined;
                receivedAt?: number | undefined;
                serverTimestamp?: number | undefined;
                plaintext?: string | undefined;
                guardAddress?: string | undefined;
                passportAddress?: string | undefined;
                lastReceivedLeafIndex?: number | undefined;
                leafIndex?: number | undefined;
                prevRoot?: string | undefined;
                newRoot?: string | undefined;
                serverSignature?: string | undefined;
                serverPublicKey?: string | undefined;
                arkConfirmed?: {
                    signature: string;
                    recipient: string;
                    recipientPublicKey: string;
                    timestamp: number;
                } | undefined;
                zipMetadata?: {
                    fileName: string;
                    fileSize: number;
                    fileHash: string;
                    contentType: "text" | "wip" | "zip" | "wts";
                    localCachePath?: string | undefined;
                    downloadedAt?: number | undefined;
                } | undefined;
                decryptError?: string | undefined;
                decryptAttempts?: number | undefined;
                lastDecryptAttemptAt?: number | undefined;
                viewedAt?: number | undefined;
            }[] | undefined;
        }[];
        operation: "watch_conversations";
    } | {
        result: {
            status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
            messageId: string;
            lastReceivedLeafIndex?: number | undefined;
            merkleData?: {
                serverTimestamp: number;
                leafIndex: number;
                prevRoot: string;
                newRoot: string;
                serverSignature: string;
                serverPublicKey: string;
            } | undefined;
            guardList?: string[] | undefined;
        };
        operation: "send_message";
    } | {
        result: {
            status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
            messageId: string;
            lastReceivedLeafIndex?: number | undefined;
            merkleData?: {
                serverTimestamp: number;
                leafIndex: number;
                prevRoot: string;
                newRoot: string;
                serverSignature: string;
                serverPublicKey: string;
            } | undefined;
            guardList?: string[] | undefined;
        };
        operation: "send_file";
    } | {
        result: {
            status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
            createdAt: number;
            messageId: string;
            fromAddress: string;
            toAddress: string;
            plaintextHash: string;
            direction: "received" | "sent";
            msgType: 1 | 3;
            proof?: string | undefined;
            receivedAt?: number | undefined;
            serverTimestamp?: number | undefined;
            plaintext?: string | undefined;
            guardAddress?: string | undefined;
            passportAddress?: string | undefined;
            lastReceivedLeafIndex?: number | undefined;
            leafIndex?: number | undefined;
            prevRoot?: string | undefined;
            newRoot?: string | undefined;
            serverSignature?: string | undefined;
            serverPublicKey?: string | undefined;
            arkConfirmed?: {
                signature: string;
                recipient: string;
                recipientPublicKey: string;
                timestamp: number;
            } | undefined;
            zipMetadata?: {
                fileName: string;
                fileSize: number;
                fileHash: string;
                contentType: "text" | "wip" | "zip" | "wts";
                localCachePath?: string | undefined;
                downloadedAt?: number | undefined;
            } | undefined;
            decryptError?: string | undefined;
            decryptAttempts?: number | undefined;
            lastDecryptAttemptAt?: number | undefined;
            viewedAt?: number | undefined;
        }[];
        operation: "watch_messages";
    } | {
        result: string[];
        operation: "extract_zip_messages";
    } | {
        result: {
            files: string[];
            totalMessageCount: number;
            timeRange: {
                start: number;
                end: number;
            };
        };
        operation: "generate_wts";
    } | {
        result: {
            valid: boolean;
            error?: string | undefined;
            hashValid?: boolean | undefined;
            signatureValid?: boolean | undefined;
            hasSignature?: boolean | undefined;
            signatures?: {
                valid: boolean;
                publicKey: string;
                address?: string | undefined;
            }[] | undefined;
        };
        operation: "verify_wts";
    } | {
        result: string;
        operation: "sign_wts";
    } | {
        result: string | string[];
        operation: "wts2html";
    } | {
        result: {
            proofAddress: string;
        };
        operation: "proof_message";
    } | {
        result: string[] | {
            success: boolean;
            operation: string;
            modifiedCount: number;
            currentCount: number;
            maxCount: number;
            message?: string | null | undefined;
            invalidAddresses?: string[] | null | undefined;
            existResults?: {
                address: string;
                exists: boolean;
            }[] | null | undefined;
            currentList?: string[] | null | undefined;
            currentGuardList?: {
                guardAddress: string;
                passportValiditySeconds: number;
            }[] | null | undefined;
        };
        op: "get" | "add" | "remove" | "clear" | "exist";
        operation: "blacklist";
    } | {
        result: string[] | {
            success: boolean;
            operation: string;
            modifiedCount: number;
            currentCount: number;
            maxCount: number;
            message?: string | null | undefined;
            invalidAddresses?: string[] | null | undefined;
            existResults?: {
                address: string;
                exists: boolean;
            }[] | null | undefined;
            currentList?: string[] | null | undefined;
            currentGuardList?: {
                guardAddress: string;
                passportValiditySeconds: number;
            }[] | null | undefined;
        };
        op: "get" | "add" | "remove" | "clear" | "exist";
        operation: "friendslist";
    } | {
        result: {
            success: boolean;
            operation: string;
            modifiedCount: number;
            currentCount: number;
            maxCount: number;
            message?: string | null | undefined;
            invalidAddresses?: string[] | null | undefined;
            existResults?: {
                address: string;
                exists: boolean;
            }[] | null | undefined;
            currentList?: string[] | null | undefined;
            currentGuardList?: {
                guardAddress: string;
                passportValiditySeconds: number;
            }[] | null | undefined;
        };
        op: "get" | "add" | "remove";
        operation: "guardlist";
    } | {
        result: boolean | {
            minUserInboxSize: number;
            maxUserInboxSize: number;
            defaultAllowStrangerMessages: boolean;
            allowStrangerMessages?: boolean | undefined;
            maxInboxSize?: number | undefined;
        };
        op: "set" | "get";
        operation: "settings";
    } | {
        result: number;
        operation: "mark_messages_as_viewed";
    } | {
        result: number;
        operation: "mark_conversation_as_viewed";
    };
}, {
    result: {
        result: {
            peerAddress: string;
            lastMessageAt: number;
            messageCount: number;
            unreadCount: number;
            lastMessagePreview?: string | undefined;
            previewMessages?: {
                status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
                createdAt: number;
                messageId: string;
                fromAddress: string;
                toAddress: string;
                plaintextHash: string;
                direction: "received" | "sent";
                msgType: 1 | 3;
                proof?: string | undefined;
                receivedAt?: number | undefined;
                serverTimestamp?: number | undefined;
                plaintext?: string | undefined;
                guardAddress?: string | undefined;
                passportAddress?: string | undefined;
                lastReceivedLeafIndex?: number | undefined;
                leafIndex?: number | undefined;
                prevRoot?: string | undefined;
                newRoot?: string | undefined;
                serverSignature?: string | undefined;
                serverPublicKey?: string | undefined;
                arkConfirmed?: {
                    signature: string;
                    recipient: string;
                    recipientPublicKey: string;
                    timestamp: number;
                } | undefined;
                zipMetadata?: {
                    fileName: string;
                    fileSize: number;
                    fileHash: string;
                    contentType: "text" | "wip" | "zip" | "wts";
                    localCachePath?: string | undefined;
                    downloadedAt?: number | undefined;
                } | undefined;
                decryptError?: string | undefined;
                decryptAttempts?: number | undefined;
                lastDecryptAttemptAt?: number | undefined;
                viewedAt?: number | undefined;
            }[] | undefined;
        }[];
        operation: "watch_conversations";
    } | {
        result: {
            status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
            messageId: string;
            lastReceivedLeafIndex?: number | undefined;
            merkleData?: {
                serverTimestamp: number;
                leafIndex: number;
                prevRoot: string;
                newRoot: string;
                serverSignature: string;
                serverPublicKey: string;
            } | undefined;
            guardList?: string[] | undefined;
        };
        operation: "send_message";
    } | {
        result: {
            status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
            messageId: string;
            lastReceivedLeafIndex?: number | undefined;
            merkleData?: {
                serverTimestamp: number;
                leafIndex: number;
                prevRoot: string;
                newRoot: string;
                serverSignature: string;
                serverPublicKey: string;
            } | undefined;
            guardList?: string[] | undefined;
        };
        operation: "send_file";
    } | {
        result: {
            status: "pending" | "confirmed" | "read" | "failed" | "rejected" | "decrypted" | "decrypt_failed";
            createdAt: number;
            messageId: string;
            fromAddress: string;
            toAddress: string;
            plaintextHash: string;
            direction: "received" | "sent";
            msgType: 1 | 3;
            proof?: string | undefined;
            receivedAt?: number | undefined;
            serverTimestamp?: number | undefined;
            plaintext?: string | undefined;
            guardAddress?: string | undefined;
            passportAddress?: string | undefined;
            lastReceivedLeafIndex?: number | undefined;
            leafIndex?: number | undefined;
            prevRoot?: string | undefined;
            newRoot?: string | undefined;
            serverSignature?: string | undefined;
            serverPublicKey?: string | undefined;
            arkConfirmed?: {
                signature: string;
                recipient: string;
                recipientPublicKey: string;
                timestamp: number;
            } | undefined;
            zipMetadata?: {
                fileName: string;
                fileSize: number;
                fileHash: string;
                contentType: "text" | "wip" | "zip" | "wts";
                localCachePath?: string | undefined;
                downloadedAt?: number | undefined;
            } | undefined;
            decryptError?: string | undefined;
            decryptAttempts?: number | undefined;
            lastDecryptAttemptAt?: number | undefined;
            viewedAt?: number | undefined;
        }[];
        operation: "watch_messages";
    } | {
        result: string[];
        operation: "extract_zip_messages";
    } | {
        result: {
            files: string[];
            totalMessageCount: number;
            timeRange: {
                start: number;
                end: number;
            };
        };
        operation: "generate_wts";
    } | {
        result: {
            valid: boolean;
            error?: string | undefined;
            hashValid?: boolean | undefined;
            signatureValid?: boolean | undefined;
            hasSignature?: boolean | undefined;
            signatures?: {
                valid: boolean;
                publicKey: string;
                address?: string | undefined;
            }[] | undefined;
        };
        operation: "verify_wts";
    } | {
        result: string;
        operation: "sign_wts";
    } | {
        result: string | string[];
        operation: "wts2html";
    } | {
        result: {
            proofAddress: string;
        };
        operation: "proof_message";
    } | {
        result: string[] | {
            success: boolean;
            operation: string;
            modifiedCount: number;
            currentCount: number;
            maxCount: number;
            message?: string | null | undefined;
            invalidAddresses?: string[] | null | undefined;
            existResults?: {
                address: string;
                exists: boolean;
            }[] | null | undefined;
            currentList?: string[] | null | undefined;
            currentGuardList?: {
                guardAddress: string;
                passportValiditySeconds: number;
            }[] | null | undefined;
        };
        op: "get" | "add" | "remove" | "clear" | "exist";
        operation: "blacklist";
    } | {
        result: string[] | {
            success: boolean;
            operation: string;
            modifiedCount: number;
            currentCount: number;
            maxCount: number;
            message?: string | null | undefined;
            invalidAddresses?: string[] | null | undefined;
            existResults?: {
                address: string;
                exists: boolean;
            }[] | null | undefined;
            currentList?: string[] | null | undefined;
            currentGuardList?: {
                guardAddress: string;
                passportValiditySeconds: number;
            }[] | null | undefined;
        };
        op: "get" | "add" | "remove" | "clear" | "exist";
        operation: "friendslist";
    } | {
        result: {
            success: boolean;
            operation: string;
            modifiedCount: number;
            currentCount: number;
            maxCount: number;
            message?: string | null | undefined;
            invalidAddresses?: string[] | null | undefined;
            existResults?: {
                address: string;
                exists: boolean;
            }[] | null | undefined;
            currentList?: string[] | null | undefined;
            currentGuardList?: {
                guardAddress: string;
                passportValiditySeconds: number;
            }[] | null | undefined;
        };
        op: "get" | "add" | "remove";
        operation: "guardlist";
    } | {
        result: boolean | {
            minUserInboxSize: number;
            maxUserInboxSize: number;
            defaultAllowStrangerMessages: boolean;
            allowStrangerMessages?: boolean | undefined;
            maxInboxSize?: number | undefined;
        };
        op: "set" | "get";
        operation: "settings";
    } | {
        result: number;
        operation: "mark_messages_as_viewed";
    } | {
        result: number;
        operation: "mark_conversation_as_viewed";
    };
}>;
export type MessengerOperationInput = z.infer<typeof MessengerOperationInputSchema>;
export type MessengerOperationOutput = z.infer<typeof MessengerOperationOutputSchema>;
