import type { PluginListenerHandle } from '@capacitor/core'; import type { ValidateAllEventsEnumAreImplemented } from '../private/validate-all-events-implemented.type'; import type { AdLoadInfo, AdMobError, AdOptions } from '../shared'; import type { InterstitialAdPluginEvents } from './interstitial-ad-plugin-events.enum'; export type InterstitialDefinitionsHasAllEvents = ValidateAllEventsEnumAreImplemented; export interface InterstitialDefinitions { /** * Prepare interstitial banner * * @group Interstitial * @param options AdOptions * @since 1.1.2 */ prepareInterstitial(options: AdOptions): Promise; /** * Show interstitial ad when it’s ready * * @group Interstitial * @since 1.1.2 */ showInterstitial(): Promise; addListener(eventName: InterstitialAdPluginEvents.FailedToLoad, listenerFunc: (error: AdMobError) => void): Promise; addListener(eventName: InterstitialAdPluginEvents.Loaded, listenerFunc: (info: AdLoadInfo) => void): Promise; addListener(eventName: InterstitialAdPluginEvents.Dismissed, listenerFunc: () => void): Promise; addListener(eventName: InterstitialAdPluginEvents.FailedToShow, listenerFunc: (error: AdMobError) => void): Promise; addListener(eventName: InterstitialAdPluginEvents.Showed, listenerFunc: () => void): Promise; }