import * as z from "zod/v3";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { TicketingContent, TicketingContent$Outbound } from "./ticketingcontent.js";
export declare enum TicketingComment2 {
    True = "true",
    False = "false"
}
/**
 * Whether the comment is internal
 */
export type TicketingCommentInternal = boolean | TicketingComment2;
export type TicketingComment = {
    /**
     * Array of content associated with the comment
     */
    content?: Array<TicketingContent> | null | undefined;
    /**
     * The timestamp when the record was created
     */
    createdAt?: Date | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * Whether the comment is internal
     */
    internal?: boolean | TicketingComment2 | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * The ticket ID associated with the comment
     */
    ticketId: string;
    /**
     * The timestamp when the record was last updated
     */
    updatedAt?: Date | null | undefined;
    /**
     * The user who created the comment
     */
    userId?: string | null | undefined;
};
/** @internal */
export declare const TicketingComment2$inboundSchema: z.ZodNativeEnum<typeof TicketingComment2>;
/** @internal */
export declare const TicketingComment2$outboundSchema: z.ZodNativeEnum<typeof TicketingComment2>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TicketingComment2$ {
    /** @deprecated use `TicketingComment2$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<typeof TicketingComment2>;
    /** @deprecated use `TicketingComment2$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<typeof TicketingComment2>;
}
/** @internal */
export declare const TicketingCommentInternal$inboundSchema: z.ZodType<TicketingCommentInternal, z.ZodTypeDef, unknown>;
/** @internal */
export type TicketingCommentInternal$Outbound = boolean | string;
/** @internal */
export declare const TicketingCommentInternal$outboundSchema: z.ZodType<TicketingCommentInternal$Outbound, z.ZodTypeDef, TicketingCommentInternal>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TicketingCommentInternal$ {
    /** @deprecated use `TicketingCommentInternal$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TicketingCommentInternal, z.ZodTypeDef, unknown>;
    /** @deprecated use `TicketingCommentInternal$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TicketingCommentInternal$Outbound, z.ZodTypeDef, TicketingCommentInternal>;
    /** @deprecated use `TicketingCommentInternal$Outbound` instead. */
    type Outbound = TicketingCommentInternal$Outbound;
}
export declare function ticketingCommentInternalToJSON(ticketingCommentInternal: TicketingCommentInternal): string;
export declare function ticketingCommentInternalFromJSON(jsonString: string): SafeParseResult<TicketingCommentInternal, SDKValidationError>;
/** @internal */
export declare const TicketingComment$inboundSchema: z.ZodType<TicketingComment, z.ZodTypeDef, unknown>;
/** @internal */
export type TicketingComment$Outbound = {
    content?: Array<TicketingContent$Outbound> | null | undefined;
    created_at?: string | null | undefined;
    id?: string | null | undefined;
    internal?: boolean | string | null | undefined;
    remote_id?: string | null | undefined;
    ticket_id: string;
    updated_at?: string | null | undefined;
    user_id?: string | null | undefined;
};
/** @internal */
export declare const TicketingComment$outboundSchema: z.ZodType<TicketingComment$Outbound, z.ZodTypeDef, TicketingComment>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TicketingComment$ {
    /** @deprecated use `TicketingComment$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TicketingComment, z.ZodTypeDef, unknown>;
    /** @deprecated use `TicketingComment$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TicketingComment$Outbound, z.ZodTypeDef, TicketingComment>;
    /** @deprecated use `TicketingComment$Outbound` instead. */
    type Outbound = TicketingComment$Outbound;
}
export declare function ticketingCommentToJSON(ticketingComment: TicketingComment): string;
export declare function ticketingCommentFromJSON(jsonString: string): SafeParseResult<TicketingComment, SDKValidationError>;
//# sourceMappingURL=ticketingcomment.d.ts.map