import type { PluginListenerHandle } from '@capacitor/core'; export interface AdmobAdsPlugin { loadNativeAd(options: NativeAdOptions): Promise<{ ads: AdResult[]; }>; triggerNativeAd(options: NativeAdTriggerOptions): void; loadRewardedVideoAd(options: RewaredVideoAdOptions): Promise; showRewardedVideoAd(): Promise; addListener(eventName: 'rewardedVideoAdShowed', listenerFunc: () => void): Promise & PluginListenerHandle; addListener(eventName: 'rewardedVideoAdFailedToShow', listenerFunc: (error: { message: string; }) => void): Promise & PluginListenerHandle; addListener(eventName: 'rewardedVideoAdDismissed', listenerFunc: () => void): Promise & PluginListenerHandle; addListener(eventName: 'rewardedVideoAdClicked', listenerFunc: () => void): Promise & PluginListenerHandle; addListener(eventName: 'rewardedVideoAdImpression', listenerFunc: () => void): Promise & PluginListenerHandle; addListener(eventName: 'rewardedVideoAdOnRewarded', listenerFunc: () => void): Promise & PluginListenerHandle; loadRewardedInterstitialAd(options: RewaredInterstitialAdOptions): Promise; showRewardedInterstitialAd(): Promise; addListener(eventName: 'rewardedInterstitialAdShowed', listenerFunc: () => void): Promise & PluginListenerHandle; addListener(eventName: 'rewardedInterstitialAdFailedToShow', listenerFunc: (error: { message: string; }) => void): Promise & PluginListenerHandle; addListener(eventName: 'rewardedInterstitialAdDismissed', listenerFunc: () => void): Promise & PluginListenerHandle; addListener(eventName: 'rewardedInterstitialAdClicked', listenerFunc: () => void): Promise & PluginListenerHandle; addListener(eventName: 'rewardedInterstitialAdImpression', listenerFunc: () => void): Promise & PluginListenerHandle; addListener(eventName: 'rewardedInterstitialAdOnRewarded', listenerFunc: () => void): Promise & PluginListenerHandle; loadInterstitialAd(options: InterstitialAdOptions): Promise; showInterstitialAd(): Promise; addListener(eventName: 'interstitialAdClicked', listenerFunc: () => void): Promise & PluginListenerHandle; addListener(eventName: 'interstitialAdDismissed', listenerFunc: () => void): Promise & PluginListenerHandle; addListener(eventName: 'interstitialAdFailedToShow', listenerFunc: (error: { message: string; }) => void): Promise & PluginListenerHandle; addListener(eventName: 'interstitialAdImpression', listenerFunc: () => void): Promise & PluginListenerHandle; addListener(eventName: 'interstitialAdShowed', listenerFunc: () => void): Promise & PluginListenerHandle; showBannerAd(options: BannerAdOptions): Promise; hideBannerAd(): Promise; resumeBannerAd(): Promise; removeBannerAd(): Promise; addListener(eventName: 'bannerAdOpened', listenerFunc: () => void): Promise & PluginListenerHandle; addListener(eventName: 'bannerAdClicked', listenerFunc: () => void): Promise & PluginListenerHandle; addListener(eventName: 'bannerAdImpression', listenerFunc: () => void): Promise & PluginListenerHandle; addListener(eventName: 'bannerAdClosed', listenerFunc: () => void): Promise & PluginListenerHandle; removeAllListeners(): Promise; } export interface NativeAdOptions { adId: string; isTesting: boolean; adsCount: 1 | 2 | 3 | 4 | 5; } export interface AdResult { id: string; headline: string; body: string; advertiser: string; icon: string; cover: string; cta: string; adChoicesUrl: string; } export interface NativeAdTriggerOptions { id: string; } export interface RewaredVideoAdOptions { adId: string; isTesting: boolean; } export interface RewaredInterstitialAdOptions { adId: string; isTesting: boolean; } export interface InterstitialAdOptions { adId: string; isTesting: boolean; } export interface BannerAdOptions { adId: string; isTesting: boolean; adSize: BannerSize; adPosition: BannerPosition; } export declare enum BannerSize { BANNER = "BANNER", LARGE_BANNER = "LARGE_BANNER", MEDIUM_RECTANGLE = "MEDIUM_RECTANGLE", FULL_BANNER = "FULL_BANNER", LEADERBOARD = "LEADERBOARD" } export declare enum BannerPosition { TOP = "top", BOTTOM = "bottom" }