import type * as React from 'react'; import type { HostComponent, ViewProps } from 'react-native'; import type { BubblingEventHandler, Float } from 'react-native/Libraries/Types/CodegenTypes'; import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent'; import codegenNativeCommands from 'react-native/Libraries/Utilities/codegenNativeCommands'; export type NativeEvent = { type: string; width?: Float; height?: Float; code?: string; message?: string; name?: string; data?: string; currency?: string; precision?: Float; value?: Float; }; export interface NativeProps extends ViewProps { sizes: string[]; unitId: string; request: string; manualImpressionsEnabled: boolean; onNativeEvent: BubblingEventHandler; } export type ComponentType = HostComponent; interface NativeCommands { recordManualImpression: (viewRef: React.ElementRef) => void; } export const Commands: NativeCommands = codegenNativeCommands({ supportedCommands: ['recordManualImpression'], }); export default codegenNativeComponent( 'RNGoogleMobileAdsBannerView', ) as HostComponent;