import { FormGroup } from '@angular/forms';
import { ORIENTATION_TYPES } from './creatives.enums';
export declare type Creative = {
    user: {
        id: string;
        firstName: string;
        lastName: string;
    };
    campaignId: string;
    campaignName: string;
    creativeId: string;
    creativeName: string;
    tag: string;
    tld: string;
    mediaType?: string;
    date?: string;
    geoEdgeLink?: string;
    geoEdgeStatus?: string;
    scanStatus?: {
        alerts?: {
            detailsUrl: string;
        };
        scanStatus?: string;
    };
    approvalStatusUpdated: number;
};
export declare type CreativeInForm = {
    videoId: string | null;
    id?: string;
    creativeType: string;
    name: string;
    admWrapperType: string;
    deviceType: {
        PC: boolean;
        MOBILE: boolean;
        TABLET: boolean;
        PHONE: boolean;
    };
    trafficType: {
        SITE: boolean;
        APP: boolean;
    };
    bid: number;
    creativeAttributes: Array<string>;
    cappingDay: number;
    cappingMonth: number;
    storage: any;
    size: Array<string>;
    requiredOrientation: ORIENTATION_TYPES | null;
    width: number;
    height: number;
    adm: {
        tag: string;
        tagChanged: boolean;
    };
    landingTLD: Array<string>;
    bundle: string;
    creativeCategory: Array<string>;
    foldPosition: Array<string>;
    connectionType: {
        UNKNOWN: boolean;
        ETHERNET: boolean;
        WIFI: boolean;
        carrier: boolean;
    };
    carriersTags?: Array<string>;
    isp?: Array<string>;
    category: Array<string>;
    readOnly: boolean;
    status: FieldWithDescription;
    interstitial: boolean;
    interstitialTargetType: boolean;
    companionAdIds?: Array<any>;
    popUrl?: string;
    file?: Array<string>;
    link?: string;
    duration?: number;
    crtype?: string;
    videoMime?: Array<string>;
    videoProtocols?: Array<number>;
    videoApi?: Array<number>;
    apiFrameworks?: Array<number>;
    videoCompanion?: Array<number>;
    videoStartDelay: string;
    videoRewarded?: boolean;
    trackClicks?: boolean;
    targetingOptions?: Array<any>;
    videoRewardedTargetType?: boolean;
    durationTarget: {
        videoMinDuration: number;
        videoMaxDuration: number;
    };
    iconImg?: string;
    mainImg?: string;
    logoImg?: string;
    video?: string;
    iconImgFile?: string;
    mainImgFile?: string;
    logoImgFile?: string;
    videoFile?: string;
    iconImgStorage?: string;
    mainImgStorage?: string;
    logoImgStorage?: string;
    videoStorage?: string;
    title?: string;
    sponsored?: string;
    description?: string;
    cta?: string;
    rating?: number;
    clickUrl?: string;
    videoUrl?: string;
    vastClickUrl?: string;
    thirdPartyImpressionTrackingUrl?: string;
    thirdPartyClickTrackingUrl?: string;
    thirdPartyTags?: string;
};
export declare type CreativeInApi = {
    videoId: string;
    id: string;
    name: string;
    bid: number;
    bitrate?: number;
    admWrapperType: string;
    adCategory: Array<CategoryField>;
    attribute: Array<FieldWithDescription>;
    tag: string;
    storage: StorageApi;
    landingPage: Array<string>;
    cappings: Array<FrequencyCapping>;
    targetingOptions: Array<TargetingOption>;
    status: FieldWithDescription;
    approvalStatus: FieldWithDescription;
    creativeLib: CreativeLib;
    width: number;
    height: number;
    requiredOrientation: ORIENTATION_TYPES | null;
    mediaType: string;
    videoStartDelay?: any;
    readOnly: boolean;
    trackClicks?: boolean;
    uiStatus?: StatusApproval;
    popUrl?: string;
    file?: string;
    link?: string;
    duration?: number;
    crtype?: string;
    companionAdIds: Array<string>;
    bundle: string;
    iconImg?: string;
    mainImg?: string;
    logoImg?: string;
    iconImgFile?: string;
    mainImgFile?: string;
    logoImgFile?: string;
    iconImgStorage?: {
        name: string;
    };
    mainImgStorage?: {
        name: string;
    };
    logoImgStorage?: {
        name: string;
    };
    title?: string;
    sponsored?: string;
    description?: string;
    cta?: string;
    rating?: number;
    clickUrl?: string;
    videoUrl?: string;
    tld?: string;
    vastClickUrl?: string | null;
    pricingModel: string;
    pricingModelError: false;
    thirdPartyClickTrackingUrl: Array<string>;
    thirdPartyImpressionTrackingUrl: Array<string>;
};
export declare type CreativeChanges = {
    id: string;
    status: string;
    name: string;
};
export declare type CreativeInTable = {
    id: string;
    name: string;
    link: Array<string>;
    campaignId: string;
    status: string;
    statusClass: string;
    statusIconClass: string;
    bidClass: string;
    iconClass: string;
    size: string;
    bid: string;
    pause: boolean;
    delete: boolean;
    copy: boolean;
    write: boolean;
    pauseToggl: boolean;
    mediaType: string;
    width: number;
    height: number;
    approvalStatus: string;
    uiStatus: string;
    uiStatusName: string;
    spinnerPlaceholderName?: string;
    previewPopup: boolean;
    previewLink: boolean;
    tld?: string;
    pricingModel: string;
    pricingModelError: boolean;
    checked: boolean;
    disabledCheckbox: boolean;
    disabledCheckboxMessage: string;
};
export declare type CreativeInModeration = {
    campaignId: string;
    creativeId: string;
    username: string;
    link: Array<string>;
    campaignName: string;
    creativeName: string;
    previewPopup: boolean;
    previewLink: boolean;
    mediaType: string;
    approwe: boolean;
    tag?: string;
    tld?: string;
    geoEdgeLink?: string;
    geoEdgeStatus?: string;
    moderationDate: string;
    approvalStatusUpdated?: number;
};
export declare type ConnectionTypes = {
    ETHERNET: boolean;
    UNKNOWN: boolean;
    WIFI: boolean;
    carrier: boolean;
};
export declare type DurationType = {
    videoMinDuration: number;
    videoMaxDuration: number;
};
export declare type DeviceTypes = {
    PC: boolean;
    MOBILE: boolean;
    TABLET: boolean;
    PHONE: boolean;
};
export declare type TrafficTypes = {
    SITE: boolean;
    APP: boolean;
};
export declare type Checkboxes = DeviceTypes | ConnectionTypes | TrafficTypes;
export declare type FieldWithDescription = {
    value: number;
    description: string;
    name: string;
};
export declare type Storage = 'TAG' | 'FILE' | 'UPLOAD';
export declare type StorageApi = {
    value: number;
    description: string;
    name: string;
};
export declare type StatusApproval = {
    status: string;
    approval: string;
    name: string;
    description: string;
};
export declare type TargetingOption = {
    optionType: string;
    value: any;
    rule: FieldWithDescription;
};
export declare type FrequencyCapping = {
    enabled: boolean;
    frequencyCapping?: number;
    days?: number;
    subject?: string;
};
export declare type CreativeLib = {
    imgURL: any;
    landingPage: any;
};
export declare type TagMacroResponse = {
    CreativeTagMacro: Array<string>;
};
export declare type FormViewTargetingOptions = {
    deviceType?: DeviceTypes;
    trafficType?: TrafficTypes;
    connectionType?: ConnectionTypes;
    carriersTags?: Array<TargetingOption>;
    isp?: Array<TargetingOption>;
    foldPosition?: Array<string>;
    category?: Array<string>;
    interstitial?: boolean;
    interstitialTargetType?: boolean;
    videoApi?: Array<number>;
    apiFrameworks?: Array<number>;
    videoProtocols?: Array<number>;
    videoMime?: Array<string>;
    videoCompanion?: Array<number>;
    videoRewarded?: boolean;
    videoRewardedTargetType?: boolean;
    durationTarget: {
        videoMinDuration: number;
        videoMaxDuration: number;
    };
};
declare type SubCategoryField = {
    subcategory: boolean;
};
declare type CategoryField = FieldWithDescription & SubCategoryField;
export declare type MacrosNotification = {
    copyMacros(): void;
};
export declare type TargetingOptionPutResponse = {
    code: number;
    errorMessage?: string;
};
export declare type TargetingOptionDeleteResponse = TargetingOptionPutResponse;
export declare type ImagesSizesType = {
    width: string;
    height: string;
};
export declare type PopupFeedback = {
    hash: number;
    message: string;
    formObject?: FormGroup;
};
export declare type CopyCreativeParamsType = {
    name: string;
    withCreatives?: boolean;
    parentCampaignId: string;
};
export declare type CurrentTenantInformationType = {
    balance: number | null;
    bidderDomain: string;
    cpmModel: string;
    id: string;
    importKey: string | null;
    markup: number;
    name: string;
    statsDomain: string;
    uiDomain: string;
};
export declare type CurrentTenantStatsDomainType = {
    statsDomain: string;
};
export declare type MacroType = {
    list: Array<ShortMacrosesType>;
    title: string;
};
export declare type ShortMacrosesType = {
    name: string;
    full: string;
    withSuffixes: Array<MacrosSufixType>;
};
export declare type MacrosSufixType = {
    name: string;
    value: string;
};
export declare type ExcludedCreativeReason = {
    severity: Severity;
    reason: CreativeExcludeReason;
};
export declare enum Severity {
    ERROR = 0,
    ALERT = 1,
    INFO = 2
}
export declare enum CreativeExcludeReason {
    PAYMENT_MODEL_DISABLED = "PAYMENT_MODEL_DISABLED",
    MODERATION_WAIT = "MODERATION_WAIT",
    MODERATION_REJECTED = "MODERATION_REJECTED"
}
export declare type creativeDebugData = {
    active: boolean;
    bid: number;
    bidPercent: number;
    creative: any;
    filtered: number;
    filteredPercent: number;
    outbid: number;
    outbidPercent: number;
    reasons: Array<any>;
    sspEndpoints: Array<any>;
    startTimeMs: number;
    total: number;
};
export declare type Campaign = {
    name: string;
    id: string;
    campaignId: string;
    campaignName: string;
    defaultBid?: number;
    maxCPM?: number;
    user: {
        id: string;
        firstName: string;
        lastName: string;
    };
    creatives: Array<object>;
    endpoints: Array<object>;
    approvalStatusUpdated: number;
};
export declare type CampaignsOnModeration = {
    username: string;
    userLink: Array<string>;
    campaignName: string;
    campaignId: string;
    approve: boolean;
    previewLink: number;
    endpoints: Array<{
        endpointName: string;
        id: string;
        endpointLink: Array<string>;
    }>;
    moderationDate: string;
};
export declare type SingleCampaignOnModeration = {
    creativeId: string;
    creativeName: string;
    previewLink: boolean;
    previewPopup: boolean;
    tld: string;
};
export declare type SingleCampaignEndpoints = {
    id: string;
    endpointName: string;
    endpointLink: Array<string>;
};
export declare type ConfigTableType = {
    pagination?: {
        enabled: boolean;
        perPage: number;
    };
    columnsConfig: Array<ConfigTableColumnType>;
};
export declare type ConfigTableColumnType = {
    textContent?: {
        header: boolean;
        body: boolean;
        title: string;
        contentProperty?: string;
        isBodyLink?: boolean;
        bodyLinkProperty?: string;
    };
    sort?: {
        active: boolean;
        sortKey?: string;
    };
    buttonsContent?: {
        body?: boolean;
        buttonList?: Array<ConfigTableButtonsContentType>;
        commonOptions?: {
            class: string;
        };
    };
};
export declare type ConfigTableButtonsContentType = {
    showProperty: string;
    icon: string;
    title: string;
    alias: string;
};
export declare type ConfigTableColumnsType = Array<ConfigTableColumnType>;
export {};
