import { AdMobPro } from '@ionic-native/admob-pro' ; import { Observable } from 'rxjs/Observable' ; import { Observer } from 'rxjs/Observer' ; export declare type AdSize = 'SMART_BANNER' | 'BANNER' | 'MEDIUM_RECTANGLE' | 'FULL_BANNER' | 'LEADERBOARD' | 'SKYSCRAPER' | 'CUSTOM' ; export interface AdMobOptions { /**
     * Banner ad ID
     */ adId ? : string ; /**
     * Banner Ad Size, defaults to `SMART_BANNER`. IT can be: `SMART_BANNER`, `BANNER`, `MEDIUM_RECTANGLE`, `FULL_BANNER`, `LEADERBOARD`, `SKYSCRAPER`, or `CUSTOM`
     */ adSize ? : AdSize ; /**
     * Banner width, valid when `adSize` is set to `CUSTOM`
     */ width ? : number ; /**
     * Banner height, valid when `adSize` is set to `CUSTOM`
     */ height ? : number ; /**
     * Allow banner to overlap webview, or else it will push webview up or down to avoid overlap. Defaults to false.
     */ overlap ? : boolean ; /**
     * Position of banner ad. Defaults to `TOP_CENTER`. You can use the `AdMob.AD_POSITION` property to select other values.
     */ position ? : number ; /**
     * X in pixels. Valid when `position` is set to `POS_XY`
     */ x ? : number ; /**
     * Y in pixels. Valid when `position` is set to `POS_XY`
     */ y ? : number ; /**
     * Set to true to receive test ad for testing purposes
     */ isTesting ? : boolean ; /**
     * Auto show interstitial ad when loaded. Set to false if hope to control the show timing with prepareInterstitial/showInterstitial
     */ autoShow ? : boolean ; /**
     * Re-create the banner on web view orientation change (not screen orientation), or else just move the banner. Default:true.
     */ orientationRenew ? : boolean ; /**
     * Set extra color style for Ad
     */ adExtras ? : AdExtras ; /**
     * License key for the plugin
     */ license ? : any ; } export interface AdExtras { color_bg : string ; color_bg_top : string ; color_border : string ; color_link : string ; color_text : string ; color_url : string ; } export class AdMobProMock extends AdMobPro { AD_POSITION : { NO_CHANGE : number ; TOP_LEFT : number ; TOP_CENTER : number ; TOP_RIGHT : number ; LEFT : number ; CENTER : number ; RIGHT : number ; BOTTOM_LEFT : number ; BOTTOM_CENTER : number ; BOTTOM_RIGHT : number ; POS_XY : number ; } ; param adIdOrOptions { string | AdMobOptions } returns { Promise < any > } createBanner ( adIdOrOptions ) { return new Promise ( ( resolve , reject ) => { resolve ( ) ; } ) ; } ; /**
     * Destroy the banner, remove it from screen.
     */ removeBanner ( ) { } ; param position { number } showBanner ( position ) { } ; param x { number } param y { number } showBannerAtXY ( x , y ) { } ; /**
     * Hide the banner, remove it from screen, but can show it later
     */ hideBanner ( ) { } ; param adIdOrOptions { string | AdMobOptions } returns { Promise < any > } prepareInterstitial ( adIdOrOptions ) { return new Promise ( ( resolve , reject ) => { resolve ( ) ; } ) ; } ; /**
     * Show interstitial ad when it's ready
     */ showInterstitial ( ) { } ; param adIdOrOptions { string | AdMobOptions } returns { Promise < any > } prepareRewardVideoAd ( adIdOrOptions ) { return new Promise ( ( resolve , reject ) => { resolve ( ) ; } ) ; } ; /**
     * Show a reward video ad
     */ showRewardVideoAd ( ) { } ; param options { AdMobOptions } returns { Promise < any > } setOptions ( options ) { return new Promise ( ( resolve , reject ) => { resolve ( ) ; } ) ; } ; returns { Promise < any > } getAdSettings ( ) { return new Promise ( ( resolve , reject ) => { resolve ( ) ; } ) ; } ; returns { Observable < any > } onAdFailLoad ( ) { return Observable . create ( ( observer ) => { observer . next ( '' ) ; observer . complete ( ) ; } ) ; } ; returns { Observable < any > } onAdLoaded ( ) { return Observable . create ( ( observer ) => { observer . next ( '' ) ; observer . complete ( ) ; } ) ; } ; returns { Observable < any > } onAdPresent ( ) { return Observable . create ( ( observer ) => { observer . next ( '' ) ; observer . complete ( ) ; } ) ; } ; returns { Observable < any > } onAdLeaveApp ( ) { return Observable . create ( ( observer ) => { observer . next ( '' ) ; observer . complete ( ) ; } ) ; } ; returns { Observable < any > } onAdDismiss ( ) { return Observable . create ( ( observer ) => { observer . next ( '' ) ; observer . complete ( ) ; } ) ; } ; }