import * as z from "zod/v4-mini"; import { OpenEnum } from "../types/enums.js"; import { Result as SafeParseResult } from "../types/fp.js"; import { SDKValidationError } from "./errors/sdk-validation-error.js"; /** * Current author status */ export declare const Status: { readonly Enabled: "enabled"; readonly Suspended: "suspended"; readonly Blocked: "blocked"; }; /** * Current author status */ export type Status = OpenEnum; export type TrustLevel = { /** * Author trust level (-1, 0, 1, 2, 3, or 4) */ level: number; /** * True if the trust level was set manually by a moderator */ manual: boolean; }; export type Block = { /** * The timestamp until which they are blocked if the author is suspended. */ until?: number | null | undefined; /** * The moderators reason why the author was blocked or suspended. */ reason?: string | null | undefined; }; export type RiskEvaluation = { /** * Calculated risk level based on more than 10 behavioral signals. */ riskLevel?: number | null | undefined; }; export type Metrics = { /** * Total pieces of content */ totalContent: number; /** * Number of flagged content pieces */ flaggedContent: number; /** * Average sentiment score of content (-1 to 1). Requires a sentiment model in your project. */ averageSentiment?: number | null | undefined; }; /** * Additional metadata provided by your system. We recommend including any relevant information that may assist in the moderation process. */ export type Metadata = { /** * Whether the author's email is verified */ emailVerified?: boolean | null | undefined; /** * Whether the author's phone number is verified */ phoneVerified?: boolean | null | undefined; /** * Whether the author's identity is verified */ identityVerified?: boolean | null | undefined; /** * Whether the author is a paying customer */ isPayingCustomer?: boolean | null | undefined; [additionalProperties: string]: unknown; }; export type PublicAuthor = { /** * Author ID in Moderation API */ id: string; /** * The author's ID from your system */ externalId?: string | null | undefined; /** * URL of the author's profile picture */ profilePicture?: string | null | undefined; /** * URL of the author's external profile */ externalLink?: string | null | undefined; /** * Author name or identifier */ name?: string | null | undefined; /** * Author email address */ email?: string | null | undefined; /** * The author's company or organization */ company?: string | null | undefined; /** * Timestamp when author first appeared */ firstSeen: number; /** * Timestamp of last activity */ lastSeen: number; /** * Timestamp of last incident */ lastIncident?: number | null | undefined; /** * Current author status */ status: Status; trustLevel: TrustLevel; /** * Block or suspension details, if applicable. Null if the author is enabled. */ block: Block | null; /** * Risk assessment details, if available. */ riskEvaluation: RiskEvaluation | null; metrics: Metrics; /** * Additional metadata provided by your system. We recommend including any relevant information that may assist in the moderation process. */ metadata: Metadata; }; /** @internal */ export declare const Status$inboundSchema: z.ZodMiniType; /** @internal */ export declare const TrustLevel$inboundSchema: z.ZodMiniType; export declare function trustLevelFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const Block$inboundSchema: z.ZodMiniType; export declare function blockFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const RiskEvaluation$inboundSchema: z.ZodMiniType; export declare function riskEvaluationFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const Metrics$inboundSchema: z.ZodMiniType; export declare function metricsFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const Metadata$inboundSchema: z.ZodMiniType; export declare function metadataFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const PublicAuthor$inboundSchema: z.ZodMiniType; export declare function publicAuthorFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=public-author.d.ts.map