import * as z from "zod/v3";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { RawResponse, RawResponse$Outbound } from "./rawresponse.js";
import { TicketingContent, TicketingContent$Outbound } from "./ticketingcontent.js";
export declare enum TicketingCommentResult2 {
    True = "true",
    False = "false"
}
/**
 * Whether the comment is internal
 */
export type TicketingCommentResultInternal = boolean | TicketingCommentResult2;
export type TicketingCommentResultData = {
    /**
     * 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 | TicketingCommentResult2 | 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;
};
export type TicketingCommentResult = {
    data?: TicketingCommentResultData | null | undefined;
    raw?: Array<RawResponse> | null | undefined;
};
/** @internal */
export declare const TicketingCommentResult2$inboundSchema: z.ZodNativeEnum<typeof TicketingCommentResult2>;
/** @internal */
export declare const TicketingCommentResult2$outboundSchema: z.ZodNativeEnum<typeof TicketingCommentResult2>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TicketingCommentResult2$ {
    /** @deprecated use `TicketingCommentResult2$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<typeof TicketingCommentResult2>;
    /** @deprecated use `TicketingCommentResult2$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<typeof TicketingCommentResult2>;
}
/** @internal */
export declare const TicketingCommentResultInternal$inboundSchema: z.ZodType<TicketingCommentResultInternal, z.ZodTypeDef, unknown>;
/** @internal */
export type TicketingCommentResultInternal$Outbound = boolean | string;
/** @internal */
export declare const TicketingCommentResultInternal$outboundSchema: z.ZodType<TicketingCommentResultInternal$Outbound, z.ZodTypeDef, TicketingCommentResultInternal>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TicketingCommentResultInternal$ {
    /** @deprecated use `TicketingCommentResultInternal$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TicketingCommentResultInternal, z.ZodTypeDef, unknown>;
    /** @deprecated use `TicketingCommentResultInternal$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TicketingCommentResultInternal$Outbound, z.ZodTypeDef, TicketingCommentResultInternal>;
    /** @deprecated use `TicketingCommentResultInternal$Outbound` instead. */
    type Outbound = TicketingCommentResultInternal$Outbound;
}
export declare function ticketingCommentResultInternalToJSON(ticketingCommentResultInternal: TicketingCommentResultInternal): string;
export declare function ticketingCommentResultInternalFromJSON(jsonString: string): SafeParseResult<TicketingCommentResultInternal, SDKValidationError>;
/** @internal */
export declare const TicketingCommentResultData$inboundSchema: z.ZodType<TicketingCommentResultData, z.ZodTypeDef, unknown>;
/** @internal */
export type TicketingCommentResultData$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 TicketingCommentResultData$outboundSchema: z.ZodType<TicketingCommentResultData$Outbound, z.ZodTypeDef, TicketingCommentResultData>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TicketingCommentResultData$ {
    /** @deprecated use `TicketingCommentResultData$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TicketingCommentResultData, z.ZodTypeDef, unknown>;
    /** @deprecated use `TicketingCommentResultData$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TicketingCommentResultData$Outbound, z.ZodTypeDef, TicketingCommentResultData>;
    /** @deprecated use `TicketingCommentResultData$Outbound` instead. */
    type Outbound = TicketingCommentResultData$Outbound;
}
export declare function ticketingCommentResultDataToJSON(ticketingCommentResultData: TicketingCommentResultData): string;
export declare function ticketingCommentResultDataFromJSON(jsonString: string): SafeParseResult<TicketingCommentResultData, SDKValidationError>;
/** @internal */
export declare const TicketingCommentResult$inboundSchema: z.ZodType<TicketingCommentResult, z.ZodTypeDef, unknown>;
/** @internal */
export type TicketingCommentResult$Outbound = {
    data?: TicketingCommentResultData$Outbound | null | undefined;
    raw?: Array<RawResponse$Outbound> | null | undefined;
};
/** @internal */
export declare const TicketingCommentResult$outboundSchema: z.ZodType<TicketingCommentResult$Outbound, z.ZodTypeDef, TicketingCommentResult>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TicketingCommentResult$ {
    /** @deprecated use `TicketingCommentResult$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TicketingCommentResult, z.ZodTypeDef, unknown>;
    /** @deprecated use `TicketingCommentResult$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TicketingCommentResult$Outbound, z.ZodTypeDef, TicketingCommentResult>;
    /** @deprecated use `TicketingCommentResult$Outbound` instead. */
    type Outbound = TicketingCommentResult$Outbound;
}
export declare function ticketingCommentResultToJSON(ticketingCommentResult: TicketingCommentResult): string;
export declare function ticketingCommentResultFromJSON(jsonString: string): SafeParseResult<TicketingCommentResult, SDKValidationError>;
//# sourceMappingURL=ticketingcommentresult.d.ts.map