import React from 'react';
import { ViewProps, NativeSyntheticEvent } from 'react-native';
import type { IAdManagerEventBase, IAdManagerEventAppEvent, IAdManagerEventLoadedBanner, IAdManagerEventSize } from './AdManagerEvent';
import type { IAdManagerTargeting } from './AdManagerTypes';
interface IAdManagerAdaptiveBannerPropsBase extends ViewProps {
    /**
     * Adaptive banner position.
     */
    adPosition?: 'currentOrientationAnchored' | 'currentOrientationInline' | 'portraitInline' | 'landscapeInline' | 'inline';
    /**
     * Max height of the adaptive banner. Only works with "inline" adPosition.
     */
    maxHeight?: number;
    /**
     * DFP ad unit ID
     */
    adUnitID?: string;
    /**
     * Array of test devices. Use Banner.simulatorId for the simulator
     */
    testDevices?: string[];
    targeting?: IAdManagerTargeting;
}
interface IAdManagerAdaptiveBannerProps extends IAdManagerAdaptiveBannerPropsBase {
    /**
     * DFP library events
     */
    onSizeChange?: (event: IAdManagerEventSize) => void;
    onAdLoaded?: (event: IAdManagerEventLoadedBanner) => void;
    onAdFailedToLoad?: (error: Error) => void;
    onAppEvent?: (event: IAdManagerEventAppEvent) => void;
    onAdOpened?: (event: IAdManagerEventBase) => void;
    onAdClosed?: (event: IAdManagerEventBase) => void;
}
interface IAdManagerAdaptiveBannerState {
    style: {
        width?: number;
        height?: number;
    };
}
export declare class AdaptiveBanner extends React.Component<IAdManagerAdaptiveBannerProps, IAdManagerAdaptiveBannerState> {
    constructor(props: IAdManagerAdaptiveBannerProps);
    shouldComponentUpdate(nextProps: IAdManagerAdaptiveBannerProps, nextState: IAdManagerAdaptiveBannerState): boolean;
    componentDidMount(): void;
    loadBanner(): void;
    handleSizeChange({ nativeEvent }: NativeSyntheticEvent<IAdManagerEventSize>): void;
    render(): JSX.Element;
}
export {};
