import { z } from "zod"; import { CreateVoteUserOptionsSchema, VoteChallengeRequestToEncryptSchema, VotePubsubMessagePublicationSchema, VoteSignedPropertyNames, VoteTablesRowSchema } from "./schema.js"; import Vote from "./vote.js"; import type { JsonOfClass, RuntimeAuthorWithCommentUpdateType } from "../../types.js"; import type { JsonSignature, SignerType } from "../../signer/types.js"; export type CreateVoteOptions = z.infer; export type VoteChallengeRequestToEncryptType = z.infer; export type VoteJson = JsonOfClass; export interface VoteOptionsToSign extends Omit { signer: SignerType; communityAddress: string; } export interface VoteSignature extends JsonSignature { signedPropertyNames: typeof VoteSignedPropertyNames; } export type VotePubsubMessagePublication = z.infer; export interface VotePubsubMessageWithCommunityAuthor extends VotePubsubMessagePublication { author: RuntimeAuthorWithCommentUpdateType; } export type VotesTableRow = z.infer; export type VotesTableRowInsert = VotesTableRow;