import { IMobileAds, AdEventListener, RequestConfiguration, AdShowOptions, IInterstitialAd, RequestOptions, IRewardedAd, ServerSideVerificationOptions, IRewardedInterstitialAd, IRewardedItem, AdapterStatus } from '.';
import { MaxAdContentRating, AdEventType, BannerAdBase, BannerAdSizeBase } from './common';
export { MaxAdContentRating, AdEventType };
export * from './adsconsent';
export * from './nativead';
import { MobileAdsError } from './error';
export { MobileAdsError };
export declare class AdRequest {
    _native: GADRequest;
    static fromNative(request: GADRequest): AdRequest;
    get contentUrl(): string;
    get keywords(): string[];
    get neighboringContentUrls(): string[];
    isTestDevice(): boolean;
    get native(): GADRequest;
    get ios(): GADRequest;
}
export declare class InterstitialAd implements IInterstitialAd {
    _native: GADInterstitialAd;
    _adUnitId: string;
    _requestOptions?: RequestOptions;
    _delegate: GADFullScreenContentDelegateImpl;
    _loaded: boolean;
    _nativeRequest: GADRequest;
    static createForAdRequest(adUnitId: string, requestOptions?: RequestOptions): InterstitialAd;
    get adUnitId(): string;
    get loaded(): boolean;
    load(): void;
    _setNative(value: any): void;
    _setLoaded(value: any): void;
    _onAdEvent: AdEventListener;
    onAdEvent(listener: AdEventListener): void;
    show(showOptions?: AdShowOptions): void;
    get request(): AdRequest;
}
export declare class RewardedInterstitialAd implements IRewardedInterstitialAd {
    _native: GADRewardedInterstitialAd;
    _adUnitId: string;
    _requestOptions?: RequestOptions;
    _loaded: boolean;
    _delegate: GADFullScreenContentDelegateImpl;
    _nativeRequest: GADRequest;
    static createForAdRequest(adUnitId: string, requestOptions?: RequestOptions): RewardedInterstitialAd;
    get adUnitId(): string;
    get loaded(): boolean;
    load(): void;
    _setNative(value: any): void;
    _setLoaded(value: any): void;
    _onAdEvent: AdEventListener;
    onAdEvent(listener: AdEventListener): void;
    show(showOptions?: AdShowOptions): void;
    setServerSideVerificationOptions(options: ServerSideVerificationOptions): void;
    get native(): GADRewardedInterstitialAd;
    get ios(): GADRewardedInterstitialAd;
    get request(): AdRequest;
}
export declare class RewardedAd implements IRewardedAd {
    _native: GADRewardedAd;
    _adUnitId: string;
    _requestOptions?: RequestOptions;
    _delegate: GADFullScreenContentDelegateImpl;
    _loaded: boolean;
    _nativeRequest: GADRequest;
    get loaded(): boolean;
    static createForAdRequest(adUnitId: string, requestOptions?: RequestOptions): RewardedAd;
    get adUnitId(): string;
    load(): void;
    _setNative(value: any): void;
    _setLoaded(value: any): void;
    _onAdEvent: AdEventListener;
    onAdEvent(listener: AdEventListener): void;
    show(showOptions?: AdShowOptions): void;
    setServerSideVerificationOptions(options: ServerSideVerificationOptions): void;
    get native(): GADRewardedAd;
    get ios(): GADRewardedAd;
    get request(): AdRequest;
}
export declare class RewardedItem implements IRewardedItem {
    _native: GADAdReward;
    static fromNative(reward: GADAdReward): RewardedItem;
    get amount(): number;
    get type(): string;
    get native(): GADAdReward;
    get android(): GADAdReward;
}
export declare class BannerAdSize extends BannerAdSizeBase {
    _native: GADAdSize;
    constructor(width: number, height: number, native?: any);
    static fromNative(size: GADAdSize): BannerAdSize;
    static get BANNER(): BannerAdSize;
    static get FULL_BANNER(): BannerAdSize;
    static get LARGE_BANNER(): BannerAdSize;
    static get LEADERBOARD(): BannerAdSize;
    static get MEDIUM_RECTANGLE(): BannerAdSize;
    static createAnchoredAdaptiveBanner(width: number, orientation?: 'portrait' | 'landscape' | 'device'): BannerAdSize;
    static createInLineAdaptiveBanner(width: number, maxHeight?: number, orientation?: 'portrait' | 'landscape' | 'device'): BannerAdSize;
    static get FLUID(): BannerAdSize;
    static get WIDE_SKYSCRAPER(): BannerAdSize;
    static get INVALID(): BannerAdSize;
    get native(): GADAdSize;
    get ios(): GADAdSize;
}
export declare class BannerAd extends BannerAdBase {
    _isLoading: boolean;
    _setIsLoading(value: any): void;
    isLoading(): boolean;
    _native: GADBannerView;
    _delegate: GADBannerViewDelegateImpl;
    _nativeRequest: GADRequest;
    createNativeView(): GADBannerView;
    initNativeView(): void;
    onLoaded(): void;
    load(options?: RequestOptions): void;
    onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void;
    get request(): AdRequest;
}
export declare class MobileAds implements IMobileAds {
    private static _instance;
    static init(): Promise<{
        [key: string]: AdapterStatus;
    }>;
    static getInstance(): MobileAds;
    _requestConfiguration: RequestConfiguration;
    set requestConfiguration(requestConfiguration: RequestConfiguration);
    get requestConfiguration(): RequestConfiguration;
    setRequestConfiguration(requestConfiguration: RequestConfiguration): void;
    getRequestConfiguration(): RequestConfiguration;
    get app(): any;
}
declare class GADFullScreenContentDelegateImpl extends NSObject implements GADFullScreenContentDelegate {
    _owner: WeakRef<RewardedAd> | WeakRef<InterstitialAd> | WeakRef<RewardedInterstitialAd>;
    static initWithOwner(owner: WeakRef<RewardedAd> | WeakRef<InterstitialAd> | WeakRef<RewardedInterstitialAd>): GADFullScreenContentDelegateImpl;
    adDidDismissFullScreenContent(ad: GADFullScreenPresentingAd): void;
    adDidFailToPresentFullScreenContentWithError(ad: GADFullScreenPresentingAd, error: NSError): void;
    adDidPresentFullScreenContent(ad: GADFullScreenPresentingAd): void;
    adDidRecordClick(ad: GADFullScreenPresentingAd): void;
    adDidRecordImpression(ad: GADFullScreenPresentingAd): void;
    adWillDismissFullScreenContent(ad: GADFullScreenPresentingAd): void;
}
declare class GADBannerViewDelegateImpl extends NSObject implements GADBannerViewDelegate {
    _owner: WeakRef<BannerAd>;
    static initWithOwner(owner: WeakRef<BannerAd>): GADBannerViewDelegateImpl;
    bannerViewDidDismissScreen(bannerView: GADBannerView): void;
    bannerViewDidFailToReceiveAdWithError(bannerView: GADBannerView, error: NSError): void;
    bannerViewDidReceiveAd?(bannerView: GADBannerView): void;
    bannerViewDidRecordClick?(bannerView: GADBannerView): void;
    bannerViewDidRecordImpression?(bannerView: GADBannerView): void;
    bannerViewWillDismissScreen?(bannerView: GADBannerView): void;
    bannerViewWillPresentScreen?(bannerView: GADBannerView): void;
}
