import * as z from "zod/v3";
import { OpenEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export type PushMessagesMessageContent = {
    body?: string | null | undefined;
    subtitle?: string | null | undefined;
    title?: string | null | undefined;
};
export type PushMessages4 = {};
/**
 * The original value from the provider used to derive the unified message type.
 */
export type PushMessagesSourceValue = string | number | boolean | PushMessages4 | Array<any>;
/**
 * The unified message type.
 */
export declare enum PushMessagesValue {
    Email = "email",
    Sms = "sms",
    Push = "push",
    WebPush = "web_push",
    IosPush = "ios_push",
    AndroidPush = "android_push",
    AppPush = "app_push",
    OmniChannel = "omni_channel",
    ContentBlock = "content_block",
    InApp = "in_app",
    Unknown = "unknown",
    UnmappedValue = "unmapped_value"
}
/**
 * The unified message type.
 */
export type PushMessagesValueOpen = OpenEnum<typeof PushMessagesValue>;
export type PushMessagesMessageType = {
    /**
     * The original value from the provider used to derive the unified message type.
     */
    sourceValue?: string | number | boolean | PushMessages4 | Array<any> | null | undefined;
    /**
     * The unified message type.
     */
    value?: PushMessagesValueOpen | null | undefined;
};
export type PushMessages = {
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    messageContent?: PushMessagesMessageContent | null | undefined;
    messageType?: PushMessagesMessageType | null | undefined;
    name?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
};
/** @internal */
export declare const PushMessagesMessageContent$inboundSchema: z.ZodType<PushMessagesMessageContent, z.ZodTypeDef, unknown>;
/** @internal */
export type PushMessagesMessageContent$Outbound = {
    body?: string | null | undefined;
    subtitle?: string | null | undefined;
    title?: string | null | undefined;
};
/** @internal */
export declare const PushMessagesMessageContent$outboundSchema: z.ZodType<PushMessagesMessageContent$Outbound, z.ZodTypeDef, PushMessagesMessageContent>;
export declare function pushMessagesMessageContentToJSON(pushMessagesMessageContent: PushMessagesMessageContent): string;
export declare function pushMessagesMessageContentFromJSON(jsonString: string): SafeParseResult<PushMessagesMessageContent, SDKValidationError>;
/** @internal */
export declare const PushMessages4$inboundSchema: z.ZodType<PushMessages4, z.ZodTypeDef, unknown>;
/** @internal */
export type PushMessages4$Outbound = {};
/** @internal */
export declare const PushMessages4$outboundSchema: z.ZodType<PushMessages4$Outbound, z.ZodTypeDef, PushMessages4>;
export declare function pushMessages4ToJSON(pushMessages4: PushMessages4): string;
export declare function pushMessages4FromJSON(jsonString: string): SafeParseResult<PushMessages4, SDKValidationError>;
/** @internal */
export declare const PushMessagesSourceValue$inboundSchema: z.ZodType<PushMessagesSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type PushMessagesSourceValue$Outbound = string | number | boolean | PushMessages4$Outbound | Array<any>;
/** @internal */
export declare const PushMessagesSourceValue$outboundSchema: z.ZodType<PushMessagesSourceValue$Outbound, z.ZodTypeDef, PushMessagesSourceValue>;
export declare function pushMessagesSourceValueToJSON(pushMessagesSourceValue: PushMessagesSourceValue): string;
export declare function pushMessagesSourceValueFromJSON(jsonString: string): SafeParseResult<PushMessagesSourceValue, SDKValidationError>;
/** @internal */
export declare const PushMessagesValue$inboundSchema: z.ZodType<PushMessagesValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const PushMessagesValue$outboundSchema: z.ZodType<string, z.ZodTypeDef, PushMessagesValueOpen>;
/** @internal */
export declare const PushMessagesMessageType$inboundSchema: z.ZodType<PushMessagesMessageType, z.ZodTypeDef, unknown>;
/** @internal */
export type PushMessagesMessageType$Outbound = {
    source_value?: string | number | boolean | PushMessages4$Outbound | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const PushMessagesMessageType$outboundSchema: z.ZodType<PushMessagesMessageType$Outbound, z.ZodTypeDef, PushMessagesMessageType>;
export declare function pushMessagesMessageTypeToJSON(pushMessagesMessageType: PushMessagesMessageType): string;
export declare function pushMessagesMessageTypeFromJSON(jsonString: string): SafeParseResult<PushMessagesMessageType, SDKValidationError>;
/** @internal */
export declare const PushMessages$inboundSchema: z.ZodType<PushMessages, z.ZodTypeDef, unknown>;
/** @internal */
export type PushMessages$Outbound = {
    id?: string | null | undefined;
    message_content?: PushMessagesMessageContent$Outbound | null | undefined;
    message_type?: PushMessagesMessageType$Outbound | null | undefined;
    name?: string | null | undefined;
    remote_id?: string | null | undefined;
};
/** @internal */
export declare const PushMessages$outboundSchema: z.ZodType<PushMessages$Outbound, z.ZodTypeDef, PushMessages>;
export declare function pushMessagesToJSON(pushMessages: PushMessages): string;
export declare function pushMessagesFromJSON(jsonString: string): SafeParseResult<PushMessages, SDKValidationError>;
//# sourceMappingURL=pushmessages.d.ts.map