/**
 * Lob
 * The Lob API is organized around REST. Our API is designed to have predictable, resource-oriented URLs and uses HTTP response codes to indicate any API errors. <p> Looking for our [previous documentation](https://lob.github.io/legacy-docs/)?
 *
 * The version of the OpenAPI document: 1.3.0
 * Contact: lob-openapi@lob.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { CampaignCreative } from "./campaign-creative";
import { CmpScheduleType } from "./cmp-schedule-type";
import { CmpUseType } from "./cmp-use-type";
/**
 *
 * @export
 * @class Campaign
 */
export declare class Campaign {
    constructor(input?: any);
    /**
     * Unique identifier prefixed with `bg_`.
     * @type {string}
     * @memberof Campaign
     */
    private "_billing_group_id"?;
    get billing_group_id(): string | null;
    set billing_group_id(newValue: string | null);
    /**
     * Name of the campaign.
     * @type {string}
     * @memberof Campaign
     */
    "name": string;
    /**
     * An internal description that identifies this resource. Must be no longer than 255 characters.
     * @type {string}
     * @memberof Campaign
     */
    "description"?: string | null;
    /**
     *
     * @type {CmpScheduleType}
     * @memberof Campaign
     */
    "schedule_type": CmpScheduleType;
    /**
     * If `schedule_type` is `target_delivery_date`, provide a targeted delivery date for mail pieces in this campaign.
     * @type {string}
     * @memberof Campaign
     */
    "target_delivery_date"?: string | null;
    /**
     * If `schedule_type` is `scheduled_send_date`, provide a date to send this campaign.
     * @type {string}
     * @memberof Campaign
     */
    "send_date"?: string | null;
    /**
     * A window, in minutes, within which the campaign can be canceled.
     * @type {number}
     * @memberof Campaign
     */
    "cancel_window_campaign_minutes"?: number | null;
    /**
     * Use metadata to store custom information for tagging and labeling back to your internal systems. Must be an object with up to 20 key-value pairs. Keys must be at most 40 characters and values must be at most 500 characters. Neither can contain the characters `\"` and `\\`. i.e. \'{\"customer_id\" : \"NEWYORK2015\"}\' Nested objects are not supported.  See [Metadata](#section/Metadata) for more information.
     * @type {{ [key: string]: string; }}
     * @memberof Campaign
     */
    "metadata"?: {
        [key: string]: string;
    };
    /**
     *
     * @type {CmpUseType}
     * @memberof Campaign
     */
    "use_type": CmpUseType | null;
    /**
     * Whether or not a mail piece should be automatically canceled and not sent if the address is updated via NCOA.
     * @type {boolean}
     * @memberof Campaign
     */
    "auto_cancel_if_ncoa": boolean;
    /**
     * Unique identifier prefixed with `cmp_`.
     * @type {string}
     * @memberof Campaign
     */
    private "_id";
    get id(): string;
    set id(newValue: string);
    /**
     * Account ID that this campaign is associated with.
     * @type {string}
     * @memberof Campaign
     */
    "account_id"?: string;
    /**
     * Whether or not the campaign is still a draft.
     * @type {boolean}
     * @memberof Campaign
     */
    "is_draft": boolean;
    /**
     * An array of creatives that have been associated with this campaign.
     * @type {Array<CampaignCreative>}
     * @memberof Campaign
     */
    "creatives": Array<CampaignCreative>;
    /**
     * A timestamp in ISO 8601 format of the date the resource was created.
     * @type {string}
     * @memberof Campaign
     */
    "date_created": string;
    /**
     * A timestamp in ISO 8601 format of the date the resource was last modified.
     * @type {string}
     * @memberof Campaign
     */
    "date_modified": string;
    /**
     * Only returned if the resource has been successfully deleted.
     * @type {boolean}
     * @memberof Campaign
     */
    "deleted"?: boolean;
    /**
     * Value is resource type.
     * @type {string}
     * @memberof Campaign
     */
    "object": CampaignObjectEnum;
    toJSON(): {};
}
/**
 * @export
 * @enum {string}
 */
export declare enum CampaignObjectEnum {
    Campaign = "campaign"
}
/**
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
