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";
import { ChannelsEnum } from "./channelsenum.js";
import { Message } from "./createmessage.js";
export declare enum Campaign2 {
    True = "true",
    False = "false"
}
export type Archived = boolean | Campaign2;
export declare enum CampaignSchemas2 {
    True = "true",
    False = "false"
}
export type Draft = boolean | CampaignSchemas2;
export type Campaign4 = {};
/**
 * The source value of the schedule type.
 */
export type CampaignSourceValue = string | number | boolean | Campaign4 | Array<any>;
/**
 * The schedule type of the campaign.
 */
export declare enum CampaignValue {
    Immediate = "immediate",
    Scheduled = "scheduled",
    Recurring = "recurring",
    Custom = "custom",
    Triggered = "triggered",
    UnmappedValue = "unmapped_value"
}
/**
 * The schedule type of the campaign.
 */
export type CampaignValueOpen = OpenEnum<typeof CampaignValue>;
/**
 * The schedule type
 */
export type ScheduleType = {
    /**
     * The source value of the schedule type.
     */
    sourceValue?: string | number | boolean | Campaign4 | Array<any> | null | undefined;
    /**
     * The schedule type of the campaign.
     */
    value?: CampaignValueOpen | null | undefined;
};
export type CampaignSchemas4 = {};
/**
 * The source value of the Status.
 */
export type CampaignSchemasSourceValue = string | number | boolean | CampaignSchemas4 | Array<any>;
/**
 * The Status of the campaign.
 */
export declare enum CampaignSchemasValue {
    Draft = "draft",
    Archived = "archived",
    Live = "live",
    UnmappedValue = "unmapped_value"
}
/**
 * The Status of the campaign.
 */
export type CampaignSchemasValueOpen = OpenEnum<typeof CampaignSchemasValue>;
/**
 * Status of the Campaign
 */
export type CampaignStatus = {
    /**
     * The source value of the Status.
     */
    sourceValue?: string | number | boolean | CampaignSchemas4 | Array<any> | null | undefined;
    /**
     * The Status of the campaign.
     */
    value?: CampaignSchemasValueOpen | null | undefined;
};
export type Campaign = {
    archived?: boolean | Campaign2 | null | undefined;
    /**
     * channels of the Campaign
     */
    channels?: Array<ChannelsEnum> | null | undefined;
    /**
     * The created_at date
     */
    createdAt?: Date | null | undefined;
    description?: string | null | undefined;
    draft?: boolean | CampaignSchemas2 | null | undefined;
    /**
     * The first_sent_at date
     */
    firstSentAt?: Date | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * The last_sent_at date
     */
    lastSentAt?: Date | null | undefined;
    messages?: Array<Message> | null | undefined;
    name?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * The schedule type
     */
    scheduleType?: ScheduleType | null | undefined;
    /**
     * Status of the Campaign
     */
    status?: CampaignStatus | null | undefined;
    tags?: Array<string> | null | undefined;
    /**
     * The updated_at date
     */
    updatedAt?: Date | null | undefined;
};
/** @internal */
export declare const Campaign2$inboundSchema: z.ZodNativeEnum<typeof Campaign2>;
/** @internal */
export declare const Archived$inboundSchema: z.ZodType<Archived, z.ZodTypeDef, unknown>;
export declare function archivedFromJSON(jsonString: string): SafeParseResult<Archived, SDKValidationError>;
/** @internal */
export declare const CampaignSchemas2$inboundSchema: z.ZodNativeEnum<typeof CampaignSchemas2>;
/** @internal */
export declare const Draft$inboundSchema: z.ZodType<Draft, z.ZodTypeDef, unknown>;
export declare function draftFromJSON(jsonString: string): SafeParseResult<Draft, SDKValidationError>;
/** @internal */
export declare const Campaign4$inboundSchema: z.ZodType<Campaign4, z.ZodTypeDef, unknown>;
export declare function campaign4FromJSON(jsonString: string): SafeParseResult<Campaign4, SDKValidationError>;
/** @internal */
export declare const CampaignSourceValue$inboundSchema: z.ZodType<CampaignSourceValue, z.ZodTypeDef, unknown>;
export declare function campaignSourceValueFromJSON(jsonString: string): SafeParseResult<CampaignSourceValue, SDKValidationError>;
/** @internal */
export declare const CampaignValue$inboundSchema: z.ZodType<CampaignValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const ScheduleType$inboundSchema: z.ZodType<ScheduleType, z.ZodTypeDef, unknown>;
export declare function scheduleTypeFromJSON(jsonString: string): SafeParseResult<ScheduleType, SDKValidationError>;
/** @internal */
export declare const CampaignSchemas4$inboundSchema: z.ZodType<CampaignSchemas4, z.ZodTypeDef, unknown>;
export declare function campaignSchemas4FromJSON(jsonString: string): SafeParseResult<CampaignSchemas4, SDKValidationError>;
/** @internal */
export declare const CampaignSchemasSourceValue$inboundSchema: z.ZodType<CampaignSchemasSourceValue, z.ZodTypeDef, unknown>;
export declare function campaignSchemasSourceValueFromJSON(jsonString: string): SafeParseResult<CampaignSchemasSourceValue, SDKValidationError>;
/** @internal */
export declare const CampaignSchemasValue$inboundSchema: z.ZodType<CampaignSchemasValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const CampaignStatus$inboundSchema: z.ZodType<CampaignStatus, z.ZodTypeDef, unknown>;
export declare function campaignStatusFromJSON(jsonString: string): SafeParseResult<CampaignStatus, SDKValidationError>;
/** @internal */
export declare const Campaign$inboundSchema: z.ZodType<Campaign, z.ZodTypeDef, unknown>;
export declare function campaignFromJSON(jsonString: string): SafeParseResult<Campaign, SDKValidationError>;
//# sourceMappingURL=campaign.d.ts.map