import { ThemeableBrowser , ThemeableBrowserObject } from '@ionic-native/themeable-browser' ; import { Observable } from 'rxjs/Observable' ; import { Observer } from 'rxjs/Observer' ; export interface ThemeableBrowserButton { wwwImage ? : string ; image ? : string ; wwwImagePressed ? : string ; imagePressed ? : string ; wwwImageDensity ? : number ; align ? : string ; event ? : string ; } export interface ThemeableBrowserOptions { statusbar ? : { color : string ; } ; toolbar ? : { height ? : number ; color ? : string ; image ? : string ; } ; title ? : { color ? : string ; staticText ? : string ; showPageTitle ? : boolean ; } ; backButton ? : ThemeableBrowserButton ; forwardButton ? : ThemeableBrowserButton ; closeButton ? : ThemeableBrowserButton ; customButtons ? : ThemeableBrowserButton [ ] ; menu ? : { image ? : string ; imagePressed ? : string ; title ? : string ; cancel ? : string ; align ? : string ; items ? : { event : string ; label : string ; } [ ] ; } ; backButtonCanClose ? : boolean ; disableAnimation ? : boolean ; location ? : string ; hidden ? : boolean ; clearcache ? : boolean ; clearsessioncache ? : boolean ; zoom ? : string ; hardwareback ? : string ; mediaPlaybackRequiresUserAction ? : string ; shouldPauseOnSuspsend ? : string ; closebuttoncaption ? : string ; disallowoverscroll ? : string ; enableViewportScale ? : string ; allowInlineMediaPlayback ? : string ; keyboardDisplayRequiresUserAction ? : string ; suppressesIncrementalRendering ? : string ; presentationstyle ? : string ; transitionstyle ? : string ; toolbarposition ? : string ; } hidden export class ThemeableBrowserObjectMock extends ThemeableBrowserObject { constructor ( url , target , styleOptions ) { super ( url , target , styleOptions ) ; } ; /**
     * Displays an browser window that was opened hidden. Calling this has no effect
     * if the browser was already visible.
     */ show ( ) { } ; /**
     * Closes the browser window.
     */ close ( ) { } ; /**
     * Reloads the current page
     */ reload ( ) { } ; param script returns { Promise < any > } executeScript ( script ) { return new Promise ( ( resolve , reject ) => { resolve ( ) ; } ) ; } ; param css returns { Promise < any > } insertCss ( css ) { return new Promise ( ( resolve , reject ) => { resolve ( ) ; } ) ; } ; param event returns { Observable < any > } on ( event ) { return Observable . create ( ( observer ) => { observer . next ( '' ) ; observer . complete ( ) ; } ) ; } ; } export class ThemeableBrowserMock extends ThemeableBrowser { param url { string } param target { string } param styleOptions { ThemeableBrowserOptions } returns { ThemeableBrowserObject } create ( url , target , styleOptions ) { let response ; return response ; } ; }