import * as z from "zod";
import { OpenEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export type Attachment4 = {};
/**
 * The source value of the content type.
 */
export type AttachmentSourceValue = Attachment4 | string | number | boolean | Array<any>;
/**
 * The content type of the attachment.
 */
export declare enum AttachmentValue {
    Text = "text",
    UnmappedValue = "unmapped_value"
}
/**
 * The content type of the attachment.
 */
export type AttachmentValueOpen = OpenEnum<typeof AttachmentValue>;
export type AttachmentContentType = {
    /**
     * The source value of the content type.
     */
    sourceValue?: Attachment4 | string | number | boolean | Array<any> | null | undefined;
    /**
     * The content type of the attachment.
     */
    value?: AttachmentValueOpen | null | undefined;
};
export type Attachment = {
    contentType?: AttachmentContentType | null | undefined;
    /**
     * The URL of the attachment.
     */
    url?: string | null | undefined;
};
/** @internal */
export declare const Attachment4$inboundSchema: z.ZodType<Attachment4, z.ZodTypeDef, unknown>;
/** @internal */
export type Attachment4$Outbound = {};
/** @internal */
export declare const Attachment4$outboundSchema: z.ZodType<Attachment4$Outbound, z.ZodTypeDef, Attachment4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Attachment4$ {
    /** @deprecated use `Attachment4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Attachment4, z.ZodTypeDef, unknown>;
    /** @deprecated use `Attachment4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Attachment4$Outbound, z.ZodTypeDef, Attachment4>;
    /** @deprecated use `Attachment4$Outbound` instead. */
    type Outbound = Attachment4$Outbound;
}
export declare function attachment4ToJSON(attachment4: Attachment4): string;
export declare function attachment4FromJSON(jsonString: string): SafeParseResult<Attachment4, SDKValidationError>;
/** @internal */
export declare const AttachmentSourceValue$inboundSchema: z.ZodType<AttachmentSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type AttachmentSourceValue$Outbound = Attachment4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const AttachmentSourceValue$outboundSchema: z.ZodType<AttachmentSourceValue$Outbound, z.ZodTypeDef, AttachmentSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AttachmentSourceValue$ {
    /** @deprecated use `AttachmentSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AttachmentSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `AttachmentSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AttachmentSourceValue$Outbound, z.ZodTypeDef, AttachmentSourceValue>;
    /** @deprecated use `AttachmentSourceValue$Outbound` instead. */
    type Outbound = AttachmentSourceValue$Outbound;
}
export declare function attachmentSourceValueToJSON(attachmentSourceValue: AttachmentSourceValue): string;
export declare function attachmentSourceValueFromJSON(jsonString: string): SafeParseResult<AttachmentSourceValue, SDKValidationError>;
/** @internal */
export declare const AttachmentValue$inboundSchema: z.ZodType<AttachmentValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const AttachmentValue$outboundSchema: z.ZodType<AttachmentValueOpen, z.ZodTypeDef, AttachmentValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AttachmentValue$ {
    /** @deprecated use `AttachmentValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AttachmentValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `AttachmentValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AttachmentValueOpen, z.ZodTypeDef, AttachmentValueOpen>;
}
/** @internal */
export declare const AttachmentContentType$inboundSchema: z.ZodType<AttachmentContentType, z.ZodTypeDef, unknown>;
/** @internal */
export type AttachmentContentType$Outbound = {
    source_value?: Attachment4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const AttachmentContentType$outboundSchema: z.ZodType<AttachmentContentType$Outbound, z.ZodTypeDef, AttachmentContentType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AttachmentContentType$ {
    /** @deprecated use `AttachmentContentType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AttachmentContentType, z.ZodTypeDef, unknown>;
    /** @deprecated use `AttachmentContentType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AttachmentContentType$Outbound, z.ZodTypeDef, AttachmentContentType>;
    /** @deprecated use `AttachmentContentType$Outbound` instead. */
    type Outbound = AttachmentContentType$Outbound;
}
export declare function attachmentContentTypeToJSON(attachmentContentType: AttachmentContentType): string;
export declare function attachmentContentTypeFromJSON(jsonString: string): SafeParseResult<AttachmentContentType, SDKValidationError>;
/** @internal */
export declare const Attachment$inboundSchema: z.ZodType<Attachment, z.ZodTypeDef, unknown>;
/** @internal */
export type Attachment$Outbound = {
    content_type?: AttachmentContentType$Outbound | null | undefined;
    url?: string | null | undefined;
};
/** @internal */
export declare const Attachment$outboundSchema: z.ZodType<Attachment$Outbound, z.ZodTypeDef, Attachment>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Attachment$ {
    /** @deprecated use `Attachment$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Attachment, z.ZodTypeDef, unknown>;
    /** @deprecated use `Attachment$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Attachment$Outbound, z.ZodTypeDef, Attachment>;
    /** @deprecated use `Attachment$Outbound` instead. */
    type Outbound = Attachment$Outbound;
}
export declare function attachmentToJSON(attachment: Attachment): string;
export declare function attachmentFromJSON(jsonString: string): SafeParseResult<Attachment, SDKValidationError>;
//# sourceMappingURL=attachment.d.ts.map