import { z } from "zod";
export declare const PubsubMessageSignatureSchema: z.ZodObject<{
    signature: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
    publicKey: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
    type: z.ZodString;
    signedPropertyNames: z.ZodArray<z.ZodString>;
}, z.core.$strict>;
export declare const EncryptedSchema: z.ZodObject<{
    ciphertext: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
    iv: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
    tag: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
    type: z.ZodString;
}, z.core.$strict>;
export declare const ChallengeRequestMessageSchema: z.ZodObject<{
    challengeRequestId: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
    signature: z.ZodObject<{
        signature: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
        publicKey: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
        type: z.ZodString;
        signedPropertyNames: z.ZodArray<z.ZodString>;
    }, z.core.$strict>;
    protocolVersion: z.ZodString;
    userAgent: z.ZodString;
    timestamp: z.ZodNumber;
    type: z.ZodLiteral<"CHALLENGEREQUEST">;
    encrypted: z.ZodObject<{
        ciphertext: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
        iv: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
        tag: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
        type: z.ZodString;
    }, z.core.$strict>;
    acceptedChallengeTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strict>;
export declare const DecryptedChallengeRequestPublicationSchema: z.ZodObject<{
    comment: z.ZodOptional<z.ZodObject<{
        timestamp: z.ZodNumber;
        signature: z.ZodObject<{
            type: z.ZodString;
            signature: z.ZodString;
            publicKey: z.ZodString;
            signedPropertyNames: z.ZodArray<z.ZodString>;
        }, z.core.$strip>;
        flairs: z.ZodOptional<z.ZodArray<z.ZodObject<{
            text: z.ZodString;
            backgroundColor: z.ZodOptional<z.ZodString>;
            textColor: z.ZodOptional<z.ZodString>;
            expiresAt: z.ZodOptional<z.ZodNumber>;
        }, z.core.$loose>>>;
        communityPublicKey: z.ZodOptional<z.ZodString>;
        communityName: z.ZodOptional<z.ZodString>;
        protocolVersion: z.ZodString;
        link: z.ZodOptional<z.ZodString>;
        spoiler: z.ZodOptional<z.ZodBoolean>;
        nsfw: z.ZodOptional<z.ZodBoolean>;
        content: z.ZodOptional<z.ZodString>;
        title: z.ZodOptional<z.ZodString>;
        linkWidth: z.ZodOptional<z.ZodNumber>;
        linkHeight: z.ZodOptional<z.ZodNumber>;
        linkHtmlTagName: z.ZodOptional<z.ZodString>;
        parentCid: z.ZodOptional<z.ZodString>;
        postCid: z.ZodOptional<z.ZodString>;
        quotedCids: z.ZodOptional<z.ZodArray<z.ZodString>>;
        author: z.ZodOptional<z.ZodObject<{
            name: z.ZodOptional<z.ZodString>;
            previousCommentCid: z.ZodOptional<z.ZodString>;
            displayName: z.ZodOptional<z.ZodString>;
            wallets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
                address: z.ZodString;
                timestamp: z.ZodNumber;
                signature: z.ZodObject<{
                    signature: z.ZodString;
                    type: z.ZodString;
                }, z.core.$strip>;
            }, z.core.$strip>>>;
            avatar: z.ZodOptional<z.ZodObject<{
                chainTicker: z.ZodString;
                address: z.ZodString;
                id: z.ZodString;
                timestamp: z.ZodNumber;
                signature: z.ZodObject<{
                    signature: z.ZodString;
                    type: z.ZodString;
                }, z.core.$strip>;
            }, z.core.$loose>>;
            flairs: z.ZodOptional<z.ZodArray<z.ZodObject<{
                text: z.ZodString;
                backgroundColor: z.ZodOptional<z.ZodString>;
                textColor: z.ZodOptional<z.ZodString>;
                expiresAt: z.ZodOptional<z.ZodNumber>;
            }, z.core.$loose>>>;
        }, z.core.$loose>>;
    }, z.core.$loose>>;
    vote: z.ZodOptional<z.ZodObject<{
        timestamp: z.ZodNumber;
        signature: z.ZodObject<{
            type: z.ZodString;
            signature: z.ZodString;
            publicKey: z.ZodString;
            signedPropertyNames: z.ZodArray<z.ZodString>;
        }, z.core.$strip>;
        author: z.ZodOptional<z.ZodObject<{
            name: z.ZodOptional<z.ZodString>;
            previousCommentCid: z.ZodOptional<z.ZodString>;
            displayName: z.ZodOptional<z.ZodString>;
            wallets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
                address: z.ZodString;
                timestamp: z.ZodNumber;
                signature: z.ZodObject<{
                    signature: z.ZodString;
                    type: z.ZodString;
                }, z.core.$strip>;
            }, z.core.$strip>>>;
            avatar: z.ZodOptional<z.ZodObject<{
                chainTicker: z.ZodString;
                address: z.ZodString;
                id: z.ZodString;
                timestamp: z.ZodNumber;
                signature: z.ZodObject<{
                    signature: z.ZodString;
                    type: z.ZodString;
                }, z.core.$strip>;
            }, z.core.$loose>>;
            flairs: z.ZodOptional<z.ZodArray<z.ZodObject<{
                text: z.ZodString;
                backgroundColor: z.ZodOptional<z.ZodString>;
                textColor: z.ZodOptional<z.ZodString>;
                expiresAt: z.ZodOptional<z.ZodNumber>;
            }, z.core.$loose>>>;
        }, z.core.$loose>>;
        communityPublicKey: z.ZodOptional<z.ZodString>;
        communityName: z.ZodOptional<z.ZodString>;
        protocolVersion: z.ZodString;
        commentCid: z.ZodString;
        vote: z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<0>, z.ZodLiteral<-1>]>;
    }, z.core.$loose>>;
    commentEdit: z.ZodOptional<z.ZodObject<{
        timestamp: z.ZodNumber;
        signature: z.ZodObject<{
            type: z.ZodString;
            signature: z.ZodString;
            publicKey: z.ZodString;
            signedPropertyNames: z.ZodArray<z.ZodString>;
        }, z.core.$strip>;
        flairs: z.ZodOptional<z.ZodArray<z.ZodObject<{
            text: z.ZodString;
            backgroundColor: z.ZodOptional<z.ZodString>;
            textColor: z.ZodOptional<z.ZodString>;
            expiresAt: z.ZodOptional<z.ZodNumber>;
        }, z.core.$loose>>>;
        communityPublicKey: z.ZodOptional<z.ZodString>;
        communityName: z.ZodOptional<z.ZodString>;
        protocolVersion: z.ZodString;
        commentCid: z.ZodString;
        spoiler: z.ZodOptional<z.ZodBoolean>;
        nsfw: z.ZodOptional<z.ZodBoolean>;
        reason: z.ZodOptional<z.ZodString>;
        content: z.ZodOptional<z.ZodString>;
        deleted: z.ZodOptional<z.ZodBoolean>;
        author: z.ZodOptional<z.ZodObject<{
            name: z.ZodOptional<z.ZodString>;
            previousCommentCid: z.ZodOptional<z.ZodString>;
            displayName: z.ZodOptional<z.ZodString>;
            wallets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
                address: z.ZodString;
                timestamp: z.ZodNumber;
                signature: z.ZodObject<{
                    signature: z.ZodString;
                    type: z.ZodString;
                }, z.core.$strip>;
            }, z.core.$strip>>>;
            avatar: z.ZodOptional<z.ZodObject<{
                chainTicker: z.ZodString;
                address: z.ZodString;
                id: z.ZodString;
                timestamp: z.ZodNumber;
                signature: z.ZodObject<{
                    signature: z.ZodString;
                    type: z.ZodString;
                }, z.core.$strip>;
            }, z.core.$loose>>;
            flairs: z.ZodOptional<z.ZodArray<z.ZodObject<{
                text: z.ZodString;
                backgroundColor: z.ZodOptional<z.ZodString>;
                textColor: z.ZodOptional<z.ZodString>;
                expiresAt: z.ZodOptional<z.ZodNumber>;
            }, z.core.$loose>>>;
        }, z.core.$loose>>;
    }, z.core.$loose>>;
    commentModeration: z.ZodOptional<z.ZodObject<{
        timestamp: z.ZodNumber;
        signature: z.ZodObject<{
            type: z.ZodString;
            signature: z.ZodString;
            publicKey: z.ZodString;
            signedPropertyNames: z.ZodArray<z.ZodString>;
        }, z.core.$strip>;
        author: z.ZodOptional<z.ZodObject<{
            name: z.ZodOptional<z.ZodString>;
            previousCommentCid: z.ZodOptional<z.ZodString>;
            displayName: z.ZodOptional<z.ZodString>;
            wallets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
                address: z.ZodString;
                timestamp: z.ZodNumber;
                signature: z.ZodObject<{
                    signature: z.ZodString;
                    type: z.ZodString;
                }, z.core.$strip>;
            }, z.core.$strip>>>;
            avatar: z.ZodOptional<z.ZodObject<{
                chainTicker: z.ZodString;
                address: z.ZodString;
                id: z.ZodString;
                timestamp: z.ZodNumber;
                signature: z.ZodObject<{
                    signature: z.ZodString;
                    type: z.ZodString;
                }, z.core.$strip>;
            }, z.core.$loose>>;
            flairs: z.ZodOptional<z.ZodArray<z.ZodObject<{
                text: z.ZodString;
                backgroundColor: z.ZodOptional<z.ZodString>;
                textColor: z.ZodOptional<z.ZodString>;
                expiresAt: z.ZodOptional<z.ZodNumber>;
            }, z.core.$loose>>>;
        }, z.core.$loose>>;
        communityPublicKey: z.ZodOptional<z.ZodString>;
        communityName: z.ZodOptional<z.ZodString>;
        protocolVersion: z.ZodString;
        commentCid: z.ZodString;
        commentModeration: z.ZodObject<{
            flairs: z.ZodOptional<z.ZodArray<z.ZodObject<{
                text: z.ZodString;
                backgroundColor: z.ZodOptional<z.ZodString>;
                textColor: z.ZodOptional<z.ZodString>;
                expiresAt: z.ZodOptional<z.ZodNumber>;
            }, z.core.$loose>>>;
            spoiler: z.ZodOptional<z.ZodBoolean>;
            nsfw: z.ZodOptional<z.ZodBoolean>;
            pinned: z.ZodOptional<z.ZodBoolean>;
            locked: z.ZodOptional<z.ZodBoolean>;
            archived: z.ZodOptional<z.ZodBoolean>;
            approved: z.ZodOptional<z.ZodBoolean>;
            removed: z.ZodOptional<z.ZodBoolean>;
            purged: z.ZodOptional<z.ZodBoolean>;
            reason: z.ZodOptional<z.ZodString>;
            author: z.ZodOptional<z.ZodObject<{
                flairs: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    text: z.ZodString;
                    backgroundColor: z.ZodOptional<z.ZodString>;
                    textColor: z.ZodOptional<z.ZodString>;
                    expiresAt: z.ZodOptional<z.ZodNumber>;
                }, z.core.$loose>>>;
                banExpiresAt: z.ZodOptional<z.ZodNumber>;
            }, z.core.$loose>>;
        }, z.core.$loose>;
    }, z.core.$loose>>;
    communityEdit: z.ZodOptional<z.ZodObject<{
        timestamp: z.ZodNumber;
        signature: z.ZodObject<{
            type: z.ZodString;
            signature: z.ZodString;
            publicKey: z.ZodString;
            signedPropertyNames: z.ZodArray<z.ZodString>;
        }, z.core.$strip>;
        author: z.ZodOptional<z.ZodObject<{
            name: z.ZodOptional<z.ZodString>;
            previousCommentCid: z.ZodOptional<z.ZodString>;
            displayName: z.ZodOptional<z.ZodString>;
            wallets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
                address: z.ZodString;
                timestamp: z.ZodNumber;
                signature: z.ZodObject<{
                    signature: z.ZodString;
                    type: z.ZodString;
                }, z.core.$strip>;
            }, z.core.$strip>>>;
            avatar: z.ZodOptional<z.ZodObject<{
                chainTicker: z.ZodString;
                address: z.ZodString;
                id: z.ZodString;
                timestamp: z.ZodNumber;
                signature: z.ZodObject<{
                    signature: z.ZodString;
                    type: z.ZodString;
                }, z.core.$strip>;
            }, z.core.$loose>>;
            flairs: z.ZodOptional<z.ZodArray<z.ZodObject<{
                text: z.ZodString;
                backgroundColor: z.ZodOptional<z.ZodString>;
                textColor: z.ZodOptional<z.ZodString>;
                expiresAt: z.ZodOptional<z.ZodNumber>;
            }, z.core.$loose>>>;
        }, z.core.$loose>>;
        communityPublicKey: z.ZodOptional<z.ZodString>;
        communityName: z.ZodOptional<z.ZodString>;
        protocolVersion: z.ZodString;
        communityEdit: z.ZodObject<{
            name: z.ZodOptional<z.ZodOptional<z.ZodString>>;
            flairs: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
                text: z.ZodString;
                backgroundColor: z.ZodOptional<z.ZodString>;
                textColor: z.ZodOptional<z.ZodString>;
                expiresAt: z.ZodOptional<z.ZodNumber>;
            }, z.core.$loose>>>>>;
            title: z.ZodOptional<z.ZodOptional<z.ZodString>>;
            description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
            pubsubTopic: z.ZodOptional<z.ZodOptional<z.ZodString>>;
            rules: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString>>>;
            features: z.ZodOptional<z.ZodOptional<z.ZodObject<{
                noVideos: z.ZodOptional<z.ZodBoolean>;
                noSpoilers: z.ZodOptional<z.ZodBoolean>;
                noImages: z.ZodOptional<z.ZodBoolean>;
                noVideoReplies: z.ZodOptional<z.ZodBoolean>;
                noSpoilerReplies: z.ZodOptional<z.ZodBoolean>;
                noImageReplies: z.ZodOptional<z.ZodBoolean>;
                noReplyLinks: z.ZodOptional<z.ZodBoolean>;
                noPolls: z.ZodOptional<z.ZodBoolean>;
                noCrossposts: z.ZodOptional<z.ZodBoolean>;
                noNestedReplies: z.ZodOptional<z.ZodBoolean>;
                safeForWork: z.ZodOptional<z.ZodBoolean>;
                authorFlairs: z.ZodOptional<z.ZodBoolean>;
                requireAuthorFlairs: z.ZodOptional<z.ZodBoolean>;
                postFlairs: z.ZodOptional<z.ZodBoolean>;
                requirePostFlairs: z.ZodOptional<z.ZodBoolean>;
                noMarkdownImages: z.ZodOptional<z.ZodBoolean>;
                noMarkdownVideos: z.ZodOptional<z.ZodBoolean>;
                noMarkdownAudio: z.ZodOptional<z.ZodBoolean>;
                noAudio: z.ZodOptional<z.ZodBoolean>;
                noAudioReplies: z.ZodOptional<z.ZodBoolean>;
                markdownImageReplies: z.ZodOptional<z.ZodBoolean>;
                markdownVideoReplies: z.ZodOptional<z.ZodBoolean>;
                noPostUpvotes: z.ZodOptional<z.ZodBoolean>;
                noReplyUpvotes: z.ZodOptional<z.ZodBoolean>;
                noPostDownvotes: z.ZodOptional<z.ZodBoolean>;
                noReplyDownvotes: z.ZodOptional<z.ZodBoolean>;
                noUpvotes: z.ZodOptional<z.ZodBoolean>;
                noDownvotes: z.ZodOptional<z.ZodBoolean>;
                requirePostLink: z.ZodOptional<z.ZodBoolean>;
                requirePostLinkIsMedia: z.ZodOptional<z.ZodBoolean>;
                requireReplyLink: z.ZodOptional<z.ZodBoolean>;
                requireReplyLinkIsMedia: z.ZodOptional<z.ZodBoolean>;
                pseudonymityMode: z.ZodOptional<z.ZodEnum<{
                    "per-post": "per-post";
                    "per-reply": "per-reply";
                    "per-author": "per-author";
                }>>;
            }, z.core.$loose>>>;
            suggested: z.ZodOptional<z.ZodOptional<z.ZodObject<{
                primaryColor: z.ZodOptional<z.ZodString>;
                secondaryColor: z.ZodOptional<z.ZodString>;
                avatarUrl: z.ZodOptional<z.ZodString>;
                bannerUrl: z.ZodOptional<z.ZodString>;
                backgroundUrl: z.ZodOptional<z.ZodString>;
                language: z.ZodOptional<z.ZodString>;
            }, z.core.$loose>>>;
            address: z.ZodOptional<z.ZodOptional<z.ZodString>>;
            settings: z.ZodOptional<z.ZodOptional<z.ZodObject<{
                fetchThumbnailUrls: z.ZodOptional<z.ZodBoolean>;
                fetchThumbnailUrlsProxyUrl: z.ZodOptional<z.ZodString>;
                challenges: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    path: z.ZodOptional<z.ZodString>;
                    name: z.ZodOptional<z.ZodString>;
                    options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
                    exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
                        community: z.ZodOptional<z.ZodObject<{
                            addresses: z.ZodArray<z.ZodString>;
                            maxCommentCids: z.ZodNumber;
                            postScore: z.ZodOptional<z.ZodNumber>;
                            replyScore: z.ZodOptional<z.ZodNumber>;
                            firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
                        }, z.core.$strict>>;
                        postScore: z.ZodOptional<z.ZodNumber>;
                        replyScore: z.ZodOptional<z.ZodNumber>;
                        postCount: z.ZodOptional<z.ZodNumber>;
                        replyCount: z.ZodOptional<z.ZodNumber>;
                        firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
                        challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
                        role: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
                            owner: "owner";
                            admin: "admin";
                            moderator: "moderator";
                        }>, z.ZodString]>>>;
                        address: z.ZodOptional<z.ZodArray<z.ZodString>>;
                        rateLimit: z.ZodOptional<z.ZodNumber>;
                        rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
                        publicationType: z.ZodOptional<z.ZodObject<{
                            post: z.ZodOptional<z.ZodBoolean>;
                            reply: z.ZodOptional<z.ZodBoolean>;
                            vote: z.ZodOptional<z.ZodBoolean>;
                            commentEdit: z.ZodOptional<z.ZodBoolean>;
                            commentModeration: z.ZodOptional<z.ZodBoolean>;
                            communityEdit: z.ZodOptional<z.ZodBoolean>;
                        }, z.core.$loose>>;
                    }, z.core.$loose>>>;
                    description: z.ZodOptional<z.ZodString>;
                    pendingApproval: z.ZodOptional<z.ZodBoolean>;
                }, z.core.$strict>>>;
                maxPendingApprovalCount: z.ZodOptional<z.ZodNumber>;
                purgeDisapprovedCommentsOlderThan: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>>>;
            roles: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                role: z.ZodUnion<[z.ZodEnum<{
                    owner: "owner";
                    admin: "admin";
                    moderator: "moderator";
                }>, z.ZodString]>;
            }, z.core.$loose>, z.ZodUndefined]>>>>;
        }, z.core.$strict>;
    }, z.core.$loose>>;
}, z.core.$strip>;
export declare const DecryptedChallengeRequestSchema: z.ZodObject<{
    comment: z.ZodOptional<z.ZodObject<{
        timestamp: z.ZodNumber;
        signature: z.ZodObject<{
            type: z.ZodString;
            signature: z.ZodString;
            publicKey: z.ZodString;
            signedPropertyNames: z.ZodArray<z.ZodString>;
        }, z.core.$strip>;
        flairs: z.ZodOptional<z.ZodArray<z.ZodObject<{
            text: z.ZodString;
            backgroundColor: z.ZodOptional<z.ZodString>;
            textColor: z.ZodOptional<z.ZodString>;
            expiresAt: z.ZodOptional<z.ZodNumber>;
        }, z.core.$loose>>>;
        communityPublicKey: z.ZodOptional<z.ZodString>;
        communityName: z.ZodOptional<z.ZodString>;
        protocolVersion: z.ZodString;
        link: z.ZodOptional<z.ZodString>;
        spoiler: z.ZodOptional<z.ZodBoolean>;
        nsfw: z.ZodOptional<z.ZodBoolean>;
        content: z.ZodOptional<z.ZodString>;
        title: z.ZodOptional<z.ZodString>;
        linkWidth: z.ZodOptional<z.ZodNumber>;
        linkHeight: z.ZodOptional<z.ZodNumber>;
        linkHtmlTagName: z.ZodOptional<z.ZodString>;
        parentCid: z.ZodOptional<z.ZodString>;
        postCid: z.ZodOptional<z.ZodString>;
        quotedCids: z.ZodOptional<z.ZodArray<z.ZodString>>;
        author: z.ZodOptional<z.ZodObject<{
            name: z.ZodOptional<z.ZodString>;
            previousCommentCid: z.ZodOptional<z.ZodString>;
            displayName: z.ZodOptional<z.ZodString>;
            wallets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
                address: z.ZodString;
                timestamp: z.ZodNumber;
                signature: z.ZodObject<{
                    signature: z.ZodString;
                    type: z.ZodString;
                }, z.core.$strip>;
            }, z.core.$strip>>>;
            avatar: z.ZodOptional<z.ZodObject<{
                chainTicker: z.ZodString;
                address: z.ZodString;
                id: z.ZodString;
                timestamp: z.ZodNumber;
                signature: z.ZodObject<{
                    signature: z.ZodString;
                    type: z.ZodString;
                }, z.core.$strip>;
            }, z.core.$loose>>;
            flairs: z.ZodOptional<z.ZodArray<z.ZodObject<{
                text: z.ZodString;
                backgroundColor: z.ZodOptional<z.ZodString>;
                textColor: z.ZodOptional<z.ZodString>;
                expiresAt: z.ZodOptional<z.ZodNumber>;
            }, z.core.$loose>>>;
        }, z.core.$loose>>;
    }, z.core.$loose>>;
    vote: z.ZodOptional<z.ZodObject<{
        timestamp: z.ZodNumber;
        signature: z.ZodObject<{
            type: z.ZodString;
            signature: z.ZodString;
            publicKey: z.ZodString;
            signedPropertyNames: z.ZodArray<z.ZodString>;
        }, z.core.$strip>;
        author: z.ZodOptional<z.ZodObject<{
            name: z.ZodOptional<z.ZodString>;
            previousCommentCid: z.ZodOptional<z.ZodString>;
            displayName: z.ZodOptional<z.ZodString>;
            wallets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
                address: z.ZodString;
                timestamp: z.ZodNumber;
                signature: z.ZodObject<{
                    signature: z.ZodString;
                    type: z.ZodString;
                }, z.core.$strip>;
            }, z.core.$strip>>>;
            avatar: z.ZodOptional<z.ZodObject<{
                chainTicker: z.ZodString;
                address: z.ZodString;
                id: z.ZodString;
                timestamp: z.ZodNumber;
                signature: z.ZodObject<{
                    signature: z.ZodString;
                    type: z.ZodString;
                }, z.core.$strip>;
            }, z.core.$loose>>;
            flairs: z.ZodOptional<z.ZodArray<z.ZodObject<{
                text: z.ZodString;
                backgroundColor: z.ZodOptional<z.ZodString>;
                textColor: z.ZodOptional<z.ZodString>;
                expiresAt: z.ZodOptional<z.ZodNumber>;
            }, z.core.$loose>>>;
        }, z.core.$loose>>;
        communityPublicKey: z.ZodOptional<z.ZodString>;
        communityName: z.ZodOptional<z.ZodString>;
        protocolVersion: z.ZodString;
        commentCid: z.ZodString;
        vote: z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<0>, z.ZodLiteral<-1>]>;
    }, z.core.$loose>>;
    commentEdit: z.ZodOptional<z.ZodObject<{
        timestamp: z.ZodNumber;
        signature: z.ZodObject<{
            type: z.ZodString;
            signature: z.ZodString;
            publicKey: z.ZodString;
            signedPropertyNames: z.ZodArray<z.ZodString>;
        }, z.core.$strip>;
        flairs: z.ZodOptional<z.ZodArray<z.ZodObject<{
            text: z.ZodString;
            backgroundColor: z.ZodOptional<z.ZodString>;
            textColor: z.ZodOptional<z.ZodString>;
            expiresAt: z.ZodOptional<z.ZodNumber>;
        }, z.core.$loose>>>;
        communityPublicKey: z.ZodOptional<z.ZodString>;
        communityName: z.ZodOptional<z.ZodString>;
        protocolVersion: z.ZodString;
        commentCid: z.ZodString;
        spoiler: z.ZodOptional<z.ZodBoolean>;
        nsfw: z.ZodOptional<z.ZodBoolean>;
        reason: z.ZodOptional<z.ZodString>;
        content: z.ZodOptional<z.ZodString>;
        deleted: z.ZodOptional<z.ZodBoolean>;
        author: z.ZodOptional<z.ZodObject<{
            name: z.ZodOptional<z.ZodString>;
            previousCommentCid: z.ZodOptional<z.ZodString>;
            displayName: z.ZodOptional<z.ZodString>;
            wallets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
                address: z.ZodString;
                timestamp: z.ZodNumber;
                signature: z.ZodObject<{
                    signature: z.ZodString;
                    type: z.ZodString;
                }, z.core.$strip>;
            }, z.core.$strip>>>;
            avatar: z.ZodOptional<z.ZodObject<{
                chainTicker: z.ZodString;
                address: z.ZodString;
                id: z.ZodString;
                timestamp: z.ZodNumber;
                signature: z.ZodObject<{
                    signature: z.ZodString;
                    type: z.ZodString;
                }, z.core.$strip>;
            }, z.core.$loose>>;
            flairs: z.ZodOptional<z.ZodArray<z.ZodObject<{
                text: z.ZodString;
                backgroundColor: z.ZodOptional<z.ZodString>;
                textColor: z.ZodOptional<z.ZodString>;
                expiresAt: z.ZodOptional<z.ZodNumber>;
            }, z.core.$loose>>>;
        }, z.core.$loose>>;
    }, z.core.$loose>>;
    commentModeration: z.ZodOptional<z.ZodObject<{
        timestamp: z.ZodNumber;
        signature: z.ZodObject<{
            type: z.ZodString;
            signature: z.ZodString;
            publicKey: z.ZodString;
            signedPropertyNames: z.ZodArray<z.ZodString>;
        }, z.core.$strip>;
        author: z.ZodOptional<z.ZodObject<{
            name: z.ZodOptional<z.ZodString>;
            previousCommentCid: z.ZodOptional<z.ZodString>;
            displayName: z.ZodOptional<z.ZodString>;
            wallets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
                address: z.ZodString;
                timestamp: z.ZodNumber;
                signature: z.ZodObject<{
                    signature: z.ZodString;
                    type: z.ZodString;
                }, z.core.$strip>;
            }, z.core.$strip>>>;
            avatar: z.ZodOptional<z.ZodObject<{
                chainTicker: z.ZodString;
                address: z.ZodString;
                id: z.ZodString;
                timestamp: z.ZodNumber;
                signature: z.ZodObject<{
                    signature: z.ZodString;
                    type: z.ZodString;
                }, z.core.$strip>;
            }, z.core.$loose>>;
            flairs: z.ZodOptional<z.ZodArray<z.ZodObject<{
                text: z.ZodString;
                backgroundColor: z.ZodOptional<z.ZodString>;
                textColor: z.ZodOptional<z.ZodString>;
                expiresAt: z.ZodOptional<z.ZodNumber>;
            }, z.core.$loose>>>;
        }, z.core.$loose>>;
        communityPublicKey: z.ZodOptional<z.ZodString>;
        communityName: z.ZodOptional<z.ZodString>;
        protocolVersion: z.ZodString;
        commentCid: z.ZodString;
        commentModeration: z.ZodObject<{
            flairs: z.ZodOptional<z.ZodArray<z.ZodObject<{
                text: z.ZodString;
                backgroundColor: z.ZodOptional<z.ZodString>;
                textColor: z.ZodOptional<z.ZodString>;
                expiresAt: z.ZodOptional<z.ZodNumber>;
            }, z.core.$loose>>>;
            spoiler: z.ZodOptional<z.ZodBoolean>;
            nsfw: z.ZodOptional<z.ZodBoolean>;
            pinned: z.ZodOptional<z.ZodBoolean>;
            locked: z.ZodOptional<z.ZodBoolean>;
            archived: z.ZodOptional<z.ZodBoolean>;
            approved: z.ZodOptional<z.ZodBoolean>;
            removed: z.ZodOptional<z.ZodBoolean>;
            purged: z.ZodOptional<z.ZodBoolean>;
            reason: z.ZodOptional<z.ZodString>;
            author: z.ZodOptional<z.ZodObject<{
                flairs: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    text: z.ZodString;
                    backgroundColor: z.ZodOptional<z.ZodString>;
                    textColor: z.ZodOptional<z.ZodString>;
                    expiresAt: z.ZodOptional<z.ZodNumber>;
                }, z.core.$loose>>>;
                banExpiresAt: z.ZodOptional<z.ZodNumber>;
            }, z.core.$loose>>;
        }, z.core.$loose>;
    }, z.core.$loose>>;
    communityEdit: z.ZodOptional<z.ZodObject<{
        timestamp: z.ZodNumber;
        signature: z.ZodObject<{
            type: z.ZodString;
            signature: z.ZodString;
            publicKey: z.ZodString;
            signedPropertyNames: z.ZodArray<z.ZodString>;
        }, z.core.$strip>;
        author: z.ZodOptional<z.ZodObject<{
            name: z.ZodOptional<z.ZodString>;
            previousCommentCid: z.ZodOptional<z.ZodString>;
            displayName: z.ZodOptional<z.ZodString>;
            wallets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
                address: z.ZodString;
                timestamp: z.ZodNumber;
                signature: z.ZodObject<{
                    signature: z.ZodString;
                    type: z.ZodString;
                }, z.core.$strip>;
            }, z.core.$strip>>>;
            avatar: z.ZodOptional<z.ZodObject<{
                chainTicker: z.ZodString;
                address: z.ZodString;
                id: z.ZodString;
                timestamp: z.ZodNumber;
                signature: z.ZodObject<{
                    signature: z.ZodString;
                    type: z.ZodString;
                }, z.core.$strip>;
            }, z.core.$loose>>;
            flairs: z.ZodOptional<z.ZodArray<z.ZodObject<{
                text: z.ZodString;
                backgroundColor: z.ZodOptional<z.ZodString>;
                textColor: z.ZodOptional<z.ZodString>;
                expiresAt: z.ZodOptional<z.ZodNumber>;
            }, z.core.$loose>>>;
        }, z.core.$loose>>;
        communityPublicKey: z.ZodOptional<z.ZodString>;
        communityName: z.ZodOptional<z.ZodString>;
        protocolVersion: z.ZodString;
        communityEdit: z.ZodObject<{
            name: z.ZodOptional<z.ZodOptional<z.ZodString>>;
            flairs: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
                text: z.ZodString;
                backgroundColor: z.ZodOptional<z.ZodString>;
                textColor: z.ZodOptional<z.ZodString>;
                expiresAt: z.ZodOptional<z.ZodNumber>;
            }, z.core.$loose>>>>>;
            title: z.ZodOptional<z.ZodOptional<z.ZodString>>;
            description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
            pubsubTopic: z.ZodOptional<z.ZodOptional<z.ZodString>>;
            rules: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString>>>;
            features: z.ZodOptional<z.ZodOptional<z.ZodObject<{
                noVideos: z.ZodOptional<z.ZodBoolean>;
                noSpoilers: z.ZodOptional<z.ZodBoolean>;
                noImages: z.ZodOptional<z.ZodBoolean>;
                noVideoReplies: z.ZodOptional<z.ZodBoolean>;
                noSpoilerReplies: z.ZodOptional<z.ZodBoolean>;
                noImageReplies: z.ZodOptional<z.ZodBoolean>;
                noReplyLinks: z.ZodOptional<z.ZodBoolean>;
                noPolls: z.ZodOptional<z.ZodBoolean>;
                noCrossposts: z.ZodOptional<z.ZodBoolean>;
                noNestedReplies: z.ZodOptional<z.ZodBoolean>;
                safeForWork: z.ZodOptional<z.ZodBoolean>;
                authorFlairs: z.ZodOptional<z.ZodBoolean>;
                requireAuthorFlairs: z.ZodOptional<z.ZodBoolean>;
                postFlairs: z.ZodOptional<z.ZodBoolean>;
                requirePostFlairs: z.ZodOptional<z.ZodBoolean>;
                noMarkdownImages: z.ZodOptional<z.ZodBoolean>;
                noMarkdownVideos: z.ZodOptional<z.ZodBoolean>;
                noMarkdownAudio: z.ZodOptional<z.ZodBoolean>;
                noAudio: z.ZodOptional<z.ZodBoolean>;
                noAudioReplies: z.ZodOptional<z.ZodBoolean>;
                markdownImageReplies: z.ZodOptional<z.ZodBoolean>;
                markdownVideoReplies: z.ZodOptional<z.ZodBoolean>;
                noPostUpvotes: z.ZodOptional<z.ZodBoolean>;
                noReplyUpvotes: z.ZodOptional<z.ZodBoolean>;
                noPostDownvotes: z.ZodOptional<z.ZodBoolean>;
                noReplyDownvotes: z.ZodOptional<z.ZodBoolean>;
                noUpvotes: z.ZodOptional<z.ZodBoolean>;
                noDownvotes: z.ZodOptional<z.ZodBoolean>;
                requirePostLink: z.ZodOptional<z.ZodBoolean>;
                requirePostLinkIsMedia: z.ZodOptional<z.ZodBoolean>;
                requireReplyLink: z.ZodOptional<z.ZodBoolean>;
                requireReplyLinkIsMedia: z.ZodOptional<z.ZodBoolean>;
                pseudonymityMode: z.ZodOptional<z.ZodEnum<{
                    "per-post": "per-post";
                    "per-reply": "per-reply";
                    "per-author": "per-author";
                }>>;
            }, z.core.$loose>>>;
            suggested: z.ZodOptional<z.ZodOptional<z.ZodObject<{
                primaryColor: z.ZodOptional<z.ZodString>;
                secondaryColor: z.ZodOptional<z.ZodString>;
                avatarUrl: z.ZodOptional<z.ZodString>;
                bannerUrl: z.ZodOptional<z.ZodString>;
                backgroundUrl: z.ZodOptional<z.ZodString>;
                language: z.ZodOptional<z.ZodString>;
            }, z.core.$loose>>>;
            address: z.ZodOptional<z.ZodOptional<z.ZodString>>;
            settings: z.ZodOptional<z.ZodOptional<z.ZodObject<{
                fetchThumbnailUrls: z.ZodOptional<z.ZodBoolean>;
                fetchThumbnailUrlsProxyUrl: z.ZodOptional<z.ZodString>;
                challenges: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    path: z.ZodOptional<z.ZodString>;
                    name: z.ZodOptional<z.ZodString>;
                    options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
                    exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
                        community: z.ZodOptional<z.ZodObject<{
                            addresses: z.ZodArray<z.ZodString>;
                            maxCommentCids: z.ZodNumber;
                            postScore: z.ZodOptional<z.ZodNumber>;
                            replyScore: z.ZodOptional<z.ZodNumber>;
                            firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
                        }, z.core.$strict>>;
                        postScore: z.ZodOptional<z.ZodNumber>;
                        replyScore: z.ZodOptional<z.ZodNumber>;
                        postCount: z.ZodOptional<z.ZodNumber>;
                        replyCount: z.ZodOptional<z.ZodNumber>;
                        firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
                        challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
                        role: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
                            owner: "owner";
                            admin: "admin";
                            moderator: "moderator";
                        }>, z.ZodString]>>>;
                        address: z.ZodOptional<z.ZodArray<z.ZodString>>;
                        rateLimit: z.ZodOptional<z.ZodNumber>;
                        rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
                        publicationType: z.ZodOptional<z.ZodObject<{
                            post: z.ZodOptional<z.ZodBoolean>;
                            reply: z.ZodOptional<z.ZodBoolean>;
                            vote: z.ZodOptional<z.ZodBoolean>;
                            commentEdit: z.ZodOptional<z.ZodBoolean>;
                            commentModeration: z.ZodOptional<z.ZodBoolean>;
                            communityEdit: z.ZodOptional<z.ZodBoolean>;
                        }, z.core.$loose>>;
                    }, z.core.$loose>>>;
                    description: z.ZodOptional<z.ZodString>;
                    pendingApproval: z.ZodOptional<z.ZodBoolean>;
                }, z.core.$strict>>>;
                maxPendingApprovalCount: z.ZodOptional<z.ZodNumber>;
                purgeDisapprovedCommentsOlderThan: z.ZodOptional<z.ZodNumber>;
            }, z.core.$strict>>>;
            roles: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                role: z.ZodUnion<[z.ZodEnum<{
                    owner: "owner";
                    admin: "admin";
                    moderator: "moderator";
                }>, z.ZodString]>;
            }, z.core.$loose>, z.ZodUndefined]>>>>;
        }, z.core.$strict>;
    }, z.core.$loose>>;
    challengeAnswers: z.ZodOptional<z.ZodArray<z.ZodString>>;
    challengeCommentCids: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
export declare const ChallengeRequestMessageSignedPropertyNames: ("type" | "timestamp" | "protocolVersion" | "userAgent" | "challengeRequestId" | "encrypted" | "acceptedChallengeTypes")[];
export declare const ChallengeInChallengePubsubMessageSchema: z.ZodObject<{
    challenge: z.ZodString;
    type: z.ZodLazy<z.ZodString>;
    caseInsensitive: z.ZodLazy<z.ZodOptional<z.ZodBoolean>>;
}, z.core.$strict>;
export declare const ChallengeMessageSchema: z.ZodObject<{
    challengeRequestId: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
    signature: z.ZodObject<{
        signature: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
        publicKey: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
        type: z.ZodString;
        signedPropertyNames: z.ZodArray<z.ZodString>;
    }, z.core.$strict>;
    protocolVersion: z.ZodString;
    userAgent: z.ZodString;
    timestamp: z.ZodNumber;
    type: z.ZodLiteral<"CHALLENGE">;
    encrypted: z.ZodObject<{
        ciphertext: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
        iv: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
        tag: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
        type: z.ZodString;
    }, z.core.$strict>;
}, z.core.$strict>;
export declare const DecryptedChallengeSchema: z.ZodObject<{
    challenges: z.ZodArray<z.ZodObject<{
        challenge: z.ZodString;
        type: z.ZodLazy<z.ZodString>;
        caseInsensitive: z.ZodLazy<z.ZodOptional<z.ZodBoolean>>;
    }, z.core.$strict>>;
}, z.core.$strict>;
export declare const ChallengeMessageSignedPropertyNames: ("type" | "timestamp" | "protocolVersion" | "userAgent" | "challengeRequestId" | "encrypted")[];
export declare const ChallengeAnswerMessageSchema: z.ZodObject<{
    challengeRequestId: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
    signature: z.ZodObject<{
        signature: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
        publicKey: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
        type: z.ZodString;
        signedPropertyNames: z.ZodArray<z.ZodString>;
    }, z.core.$strict>;
    protocolVersion: z.ZodString;
    userAgent: z.ZodString;
    timestamp: z.ZodNumber;
    type: z.ZodLiteral<"CHALLENGEANSWER">;
    encrypted: z.ZodObject<{
        ciphertext: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
        iv: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
        tag: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
        type: z.ZodString;
    }, z.core.$strict>;
}, z.core.$strict>;
export declare const DecryptedChallengeAnswerSchema: z.ZodObject<{
    challengeAnswers: z.ZodArray<z.ZodString>;
}, z.core.$strict>;
export declare const ChallengeAnswerMessageSignedPropertyNames: ("type" | "timestamp" | "protocolVersion" | "userAgent" | "challengeRequestId" | "encrypted")[];
export declare const ChallengeVerificationMessageSchema: z.ZodObject<{
    challengeRequestId: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
    signature: z.ZodObject<{
        signature: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
        publicKey: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
        type: z.ZodString;
        signedPropertyNames: z.ZodArray<z.ZodString>;
    }, z.core.$strict>;
    protocolVersion: z.ZodString;
    userAgent: z.ZodString;
    timestamp: z.ZodNumber;
    type: z.ZodLiteral<"CHALLENGEVERIFICATION">;
    challengeSuccess: z.ZodBoolean;
    challengeErrors: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    reason: z.ZodOptional<z.ZodString>;
    encrypted: z.ZodOptional<z.ZodObject<{
        ciphertext: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
        iv: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
        tag: z.ZodCustom<Uint8Array<ArrayBufferLike>, Uint8Array<ArrayBufferLike>>;
        type: z.ZodString;
    }, z.core.$strict>>;
}, z.core.$strict>;
export declare const DecryptedChallengeVerificationSchema: z.ZodObject<{
    comment: z.ZodObject<{
        timestamp: z.ZodNumber;
        signature: z.ZodObject<{
            type: z.ZodString;
            signature: z.ZodString;
            publicKey: z.ZodString;
            signedPropertyNames: z.ZodArray<z.ZodString>;
        }, z.core.$strip>;
        flairs: z.ZodOptional<z.ZodArray<z.ZodObject<{
            text: z.ZodString;
            backgroundColor: z.ZodOptional<z.ZodString>;
            textColor: z.ZodOptional<z.ZodString>;
            expiresAt: z.ZodOptional<z.ZodNumber>;
        }, z.core.$loose>>>;
        communityPublicKey: z.ZodOptional<z.ZodString>;
        communityName: z.ZodOptional<z.ZodString>;
        protocolVersion: z.ZodString;
        link: z.ZodOptional<z.ZodString>;
        spoiler: z.ZodOptional<z.ZodBoolean>;
        nsfw: z.ZodOptional<z.ZodBoolean>;
        content: z.ZodOptional<z.ZodString>;
        title: z.ZodOptional<z.ZodString>;
        linkWidth: z.ZodOptional<z.ZodNumber>;
        linkHeight: z.ZodOptional<z.ZodNumber>;
        linkHtmlTagName: z.ZodOptional<z.ZodString>;
        parentCid: z.ZodOptional<z.ZodString>;
        postCid: z.ZodOptional<z.ZodString>;
        quotedCids: z.ZodOptional<z.ZodArray<z.ZodString>>;
        author: z.ZodOptional<z.ZodObject<{
            name: z.ZodOptional<z.ZodString>;
            previousCommentCid: z.ZodOptional<z.ZodString>;
            displayName: z.ZodOptional<z.ZodString>;
            wallets: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
                address: z.ZodString;
                timestamp: z.ZodNumber;
                signature: z.ZodObject<{
                    signature: z.ZodString;
                    type: z.ZodString;
                }, z.core.$strip>;
            }, z.core.$strip>>>;
            avatar: z.ZodOptional<z.ZodObject<{
                chainTicker: z.ZodString;
                address: z.ZodString;
                id: z.ZodString;
                timestamp: z.ZodNumber;
                signature: z.ZodObject<{
                    signature: z.ZodString;
                    type: z.ZodString;
                }, z.core.$strip>;
            }, z.core.$loose>>;
            flairs: z.ZodOptional<z.ZodArray<z.ZodObject<{
                text: z.ZodString;
                backgroundColor: z.ZodOptional<z.ZodString>;
                textColor: z.ZodOptional<z.ZodString>;
                expiresAt: z.ZodOptional<z.ZodNumber>;
            }, z.core.$loose>>>;
        }, z.core.$loose>>;
        depth: z.ZodNumber;
        thumbnailUrl: z.ZodOptional<z.ZodString>;
        thumbnailUrlWidth: z.ZodOptional<z.ZodNumber>;
        thumbnailUrlHeight: z.ZodOptional<z.ZodNumber>;
        previousCid: z.ZodOptional<z.ZodString>;
        pseudonymityMode: z.ZodOptional<z.ZodEnum<{
            "per-post": "per-post";
            "per-reply": "per-reply";
            "per-author": "per-author";
        }>>;
    }, z.core.$loose>;
    commentUpdate: z.ZodObject<{
        number: z.ZodOptional<z.ZodNumber>;
        signature: z.ZodObject<{
            type: z.ZodString;
            signature: z.ZodString;
            publicKey: z.ZodString;
            signedPropertyNames: z.ZodArray<z.ZodString>;
        }, z.core.$strip>;
        author: z.ZodOptional<z.ZodObject<{
            community: z.ZodOptional<z.ZodObject<{
                postScore: z.ZodNumber;
                replyScore: z.ZodNumber;
                banExpiresAt: z.ZodOptional<z.ZodNumber>;
                flairs: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    text: z.ZodString;
                    backgroundColor: z.ZodOptional<z.ZodString>;
                    textColor: z.ZodOptional<z.ZodString>;
                    expiresAt: z.ZodOptional<z.ZodNumber>;
                }, z.core.$loose>>>;
                firstCommentTimestamp: z.ZodNumber;
                lastCommentCid: z.ZodString;
            }, z.core.$loose>>;
        }, z.core.$loose>>;
        protocolVersion: z.ZodString;
        cid: z.ZodString;
        postNumber: z.ZodOptional<z.ZodNumber>;
        pendingApproval: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$loose>;
}, z.core.$strict>;
export declare const ChallengeVerificationMessageSignedPropertyNames: ("type" | "timestamp" | "protocolVersion" | "reason" | "userAgent" | "challengeRequestId" | "encrypted" | "challengeSuccess" | "challengeErrors")[];
