import * as z from "zod/v3";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { MessagingAttachment } from "./messagingattachment.js";
export declare enum MessagingMessage2 {
    True = "true",
    False = "false"
}
/**
 * The user active status
 */
export type MessagingMessageActive = boolean | MessagingMessage2;
/**
 * Author of the message
 */
export type Author = {
    /**
     * The user active status
     */
    active?: boolean | MessagingMessage2 | null | undefined;
    /**
     * The created_at date
     */
    createdAt?: Date | null | undefined;
    /**
     * The user email
     */
    email?: string | null | undefined;
    /**
     * The external ID associated with this user
     */
    externalReference?: string | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * The user name
     */
    name?: string | null | undefined;
    /**
     * The user phone number
     */
    phoneNumber?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * Custom Unified Fields configured in your StackOne project
     */
    unifiedCustomFields?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * The updated_at date
     */
    updatedAt?: Date | null | undefined;
};
/**
 * Content of the message
 */
export type MessagingMessageContent = {
    /**
     * HTML content of the message
     */
    html?: string | null | undefined;
    /**
     * Plain text content of the message
     */
    plain?: string | null | undefined;
};
export type MessagingMessage = {
    /**
     * List of attachments in the message
     */
    attachments?: Array<MessagingAttachment> | null | undefined;
    /**
     * Author of the message
     */
    author?: Author | null | undefined;
    /**
     * Content of the message
     */
    content?: MessagingMessageContent | null | undefined;
    /**
     * Timestamp when the message was created
     */
    createdAt?: Date | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * ID of the parent message if this is a reply
     */
    parentMessageId?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * Timestamp when the message was last updated
     */
    updatedAt?: Date | null | undefined;
};
/** @internal */
export declare const MessagingMessage2$inboundSchema: z.ZodNativeEnum<typeof MessagingMessage2>;
/** @internal */
export declare const MessagingMessageActive$inboundSchema: z.ZodType<MessagingMessageActive, z.ZodTypeDef, unknown>;
export declare function messagingMessageActiveFromJSON(jsonString: string): SafeParseResult<MessagingMessageActive, SDKValidationError>;
/** @internal */
export declare const Author$inboundSchema: z.ZodType<Author, z.ZodTypeDef, unknown>;
export declare function authorFromJSON(jsonString: string): SafeParseResult<Author, SDKValidationError>;
/** @internal */
export declare const MessagingMessageContent$inboundSchema: z.ZodType<MessagingMessageContent, z.ZodTypeDef, unknown>;
export declare function messagingMessageContentFromJSON(jsonString: string): SafeParseResult<MessagingMessageContent, SDKValidationError>;
/** @internal */
export declare const MessagingMessage$inboundSchema: z.ZodType<MessagingMessage, z.ZodTypeDef, unknown>;
export declare function messagingMessageFromJSON(jsonString: string): SafeParseResult<MessagingMessage, SDKValidationError>;
//# sourceMappingURL=messagingmessage.d.ts.map