import { File } from '../mslib/File'
import { OpResult } from '../mslib/OpResult'

export namespace AdMgtGetAdDyPlanDetialServiceDeclare {
        export namespace $parameters {
            export interface RequestParam{
                adDeliveryPlanId?: number
            }


        }
        export namespace $results {
            export interface Data{
                id?: string
                adInfo?: AdInfo
                adPositionInfo?: AdPositionInfo
                materialInfo?: MaterialInfo
                chargeType?: number
                price?: number
                startTimestamp?: number
                endTimestamp?: number
                displayTimes?: number
                displayTimesPerUser?: number
                status?: number
                deliveryStatus?: number
                hasLotDyConfigs?: Array<ProvConfig>
                hasLotDyBlConfigs?: Array<ProvConfig1>
                nonLotDyConfigs?: Array<ProvConfig2>
                displayType?: number
                displayPerUserType?: number
                nonLotDyBlConfigs?: Array<ProvConfig3>
            }


            export interface AdInfo{
                id?: string
                name?: string
                jumpType?: number
                partner?: number
                url?: string
            }


            export interface AdPositionInfo{
                id?: string
                name?: string
                hasLot?: boolean
            }


            export interface MaterialInfo{
                id?: string
                name?: string
                materialDeatils?: Array<MaterialDeatil>
                styleInfo?: StyleInfo
            }


            export interface MaterialDeatil{
                id?: string
                type?: number
                value?: string
            }


            export interface StyleInfo{
                id?: string
                adPositionType?: number
                name?: string
                width?: number
                height?: number
            }


            export interface ProvConfig{
                provId?: string
                cityConfigs?: Array<CityConfig>
            }


            export interface CityConfig{
                cityId?: string
                lotConfigs?: Array<LotConfig>
            }


            export interface LotConfig{
                lotId?: string
            }


            export interface ProvConfig1{
                provId?: string
                cityConfigs?: Array<CityConfig1>
            }


            export interface CityConfig1{
                cityId?: string
                lotConfigs?: Array<LotConfig1>
            }


            export interface LotConfig1{
                lotId?: string
            }


            export interface ProvConfig2{
                provId?: string
                cityConfigs?: Array<CityConfig2>
            }


            export interface CityConfig2{
                cityId?: string
            }


            export interface ProvConfig3{
                provId?: string
                cityConfigs?: Array<CityConfig3>
            }


            export interface CityConfig3{
                cityId?: string
            }


        }



    export type Parameters = $parameters.RequestParam

    export type Result = OpResult<$results.Data>
}

export type Parameters = AdMgtGetAdDyPlanDetialServiceDeclare.Parameters
export type Result = AdMgtGetAdDyPlanDetialServiceDeclare.Result
