import { EmitterSubscription } from 'react-native';
export interface TapdaqConfig {
    userSubjectToGDPR?: boolean;
    consentGiven?: boolean;
    isAgeRestrictedUser?: boolean;
}
export interface TapdaqReward {
    eventId: string;
    name: string;
    tag: string;
    value: number;
    customJson: string;
    isValid: boolean;
}
declare class RNTapdaq {
    get nativeModule(): any;
    js_version(): string;
    ios_version(): any;
    initialize: (applicationId: string, clientKey: string, config?: TapdaqConfig | undefined) => Promise<boolean>;
    isInitialized: () => Promise<boolean>;
    openTestControls: () => void;
    setConsentGiven: (value: boolean) => void;
    setIsAgeRestrictedUser: (value: boolean) => void;
    setUserSubjectToGDPR: (value: boolean) => void;
    setUserId: (id: string) => void;
    isInterstitialReady: (placementTag: string) => Promise<boolean>;
    loadAndShowRandomAds: (placementTag: string) => Promise<boolean>;
    loadAndShowStaticInterstitial: (placementTag: string) => Promise<boolean>;
    loadInterstitial: (placementTag: string) => Promise<boolean>;
    showInterstitial: (placementTag: string) => Promise<boolean>;
    loadAndShowBanner: (placementTag: string) => Promise<boolean>;
    loadBannerForPlacementTag: (placementTag: string) => Promise<boolean>;
    hideBanner: () => Promise<boolean>;
    loadBannerForPlacementTagSize: (placementTag: string, type: string, x: number, y: number, width: number, height: number) => Promise<boolean>;
    isRewardedVideoReady: (placementTag: string) => Promise<boolean>;
    loadAndShowRewardedVideo: (placementTag: string) => Promise<boolean>;
    loadRewardedVideo: (placementTag: string) => Promise<boolean>;
    showRewardedVideo: (placementTag: string) => Promise<boolean>;
    loadAndShowNative: (placementTag: string) => Promise<boolean>;
    loadAndShowStaticVideo: (placementTag: string) => Promise<boolean>;
    addListerner: (callback: (message: string) => any) => EmitterSubscription;
    addOnRewardListener: (callback: (info: TapdaqReward) => any) => EmitterSubscription;
}
export { default as MediatedNativeAd } from './components/MediatedNativeAd';
declare const _default: RNTapdaq;
export default _default;
