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

export namespace QueryAdServiceDeclare {
        export namespace $parameters {
            export interface RequestParam{
                positionReqParams?: Array<PositionReqParam>
                apiVer?: string
                userId?: string
                lotId?: string
                openId?: string
            }


            export interface PositionReqParam{
                id?: string
                positionType?: number
                positionWidth?: number
                positionHeight?: number
                reqAdCount?: number
            }


        }
        export namespace $results {
            export interface Data{
                requestId?: string
                positionInfos?: Array<PositionInfo>
                userInfo?: UserInfo
            }


            export interface PositionInfo{
                id?: string
                name?: string
                type?: number
                adInfos?: Array<AdInfo>
            }


            export interface AdInfo{
                id?: string
                name?: string
                url?: string
                adDeliveryPlanId?: string
                materialInfo?: MaterialInfo
            }


            export interface MaterialInfo{
                id?: string
                name?: string
                styleInfo?: StyleInfo
                materialDeatils?: MaterialDeatils
            }


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


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


            export interface UserInfo{
                userId?: string
                userType?: number
                adFlowId?: string
            }


        }



    export type Parameters = $parameters.RequestParam

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

export type Parameters = QueryAdServiceDeclare.Parameters
export type Result = QueryAdServiceDeclare.Result
