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";
export type MessagingAttachmentResultData = {
    /**
     * Name of the attached file
     */
    fileName?: string | null | undefined;
    /**
     * Size of the attached file
     */
    fileSize?: number | null | undefined;
    /**
     * MIME type of the attached file
     */
    fileType?: string | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
};
export type MessagingAttachmentResult = {
    data?: MessagingAttachmentResultData | null | undefined;
    raw?: Array<RawResponse> | null | undefined;
};
/** @internal */
export declare const MessagingAttachmentResultData$inboundSchema: z.ZodType<MessagingAttachmentResultData, z.ZodTypeDef, unknown>;
/** @internal */
export type MessagingAttachmentResultData$Outbound = {
    file_name?: string | null | undefined;
    file_size?: number | null | undefined;
    file_type?: string | null | undefined;
    id?: string | null | undefined;
    remote_id?: string | null | undefined;
};
/** @internal */
export declare const MessagingAttachmentResultData$outboundSchema: z.ZodType<MessagingAttachmentResultData$Outbound, z.ZodTypeDef, MessagingAttachmentResultData>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace MessagingAttachmentResultData$ {
    /** @deprecated use `MessagingAttachmentResultData$inboundSchema` instead. */
    const inboundSchema: z.ZodType<MessagingAttachmentResultData, z.ZodTypeDef, unknown>;
    /** @deprecated use `MessagingAttachmentResultData$outboundSchema` instead. */
    const outboundSchema: z.ZodType<MessagingAttachmentResultData$Outbound, z.ZodTypeDef, MessagingAttachmentResultData>;
    /** @deprecated use `MessagingAttachmentResultData$Outbound` instead. */
    type Outbound = MessagingAttachmentResultData$Outbound;
}
export declare function messagingAttachmentResultDataToJSON(messagingAttachmentResultData: MessagingAttachmentResultData): string;
export declare function messagingAttachmentResultDataFromJSON(jsonString: string): SafeParseResult<MessagingAttachmentResultData, SDKValidationError>;
/** @internal */
export declare const MessagingAttachmentResult$inboundSchema: z.ZodType<MessagingAttachmentResult, z.ZodTypeDef, unknown>;
/** @internal */
export type MessagingAttachmentResult$Outbound = {
    data?: MessagingAttachmentResultData$Outbound | null | undefined;
    raw?: Array<RawResponse$Outbound> | null | undefined;
};
/** @internal */
export declare const MessagingAttachmentResult$outboundSchema: z.ZodType<MessagingAttachmentResult$Outbound, z.ZodTypeDef, MessagingAttachmentResult>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace MessagingAttachmentResult$ {
    /** @deprecated use `MessagingAttachmentResult$inboundSchema` instead. */
    const inboundSchema: z.ZodType<MessagingAttachmentResult, z.ZodTypeDef, unknown>;
    /** @deprecated use `MessagingAttachmentResult$outboundSchema` instead. */
    const outboundSchema: z.ZodType<MessagingAttachmentResult$Outbound, z.ZodTypeDef, MessagingAttachmentResult>;
    /** @deprecated use `MessagingAttachmentResult$Outbound` instead. */
    type Outbound = MessagingAttachmentResult$Outbound;
}
export declare function messagingAttachmentResultToJSON(messagingAttachmentResult: MessagingAttachmentResult): string;
export declare function messagingAttachmentResultFromJSON(jsonString: string): SafeParseResult<MessagingAttachmentResult, SDKValidationError>;
//# sourceMappingURL=messagingattachmentresult.d.ts.map