import React from 'react'; import type { ViewProps } from 'react-native'; import { type GoogleSignInButtonRef } from './GoogleSignInButtonHost'; import { type GoogleSignInButtonSignInBehavior } from './hooks/useGoogleSignInFromButton'; import type { OneTapSuccessData } from './specs/nitro-google-signin.nitro'; import type { GoogleSignInButtonNativeSize, GoogleSignInButtonViewProps } from './specs/GoogleSignInButton.nitro'; export type { GoogleSignInButtonColorScheme, GoogleSignInButtonContentAlignment, GoogleSignInButtonNativeSize, GoogleSignInButtonViewMethods, GoogleSignInButtonViewProps, } from './specs/GoogleSignInButton.nitro'; export type { GoogleSignInButtonSignInBehavior } from './hooks/useGoogleSignInFromButton'; export { GoogleSignInButtonHost, type GoogleSignInButtonRef } from './GoogleSignInButtonHost'; /** Recommended height for the SDK button (48pt/dp per Google branding). */ export declare const GOOGLE_SIGN_IN_BUTTON_HEIGHT = 48; /** Intrinsic widths (dp) matching Google branding / former GMS `SignInButton` sizes. */ export declare const GOOGLE_SIGN_IN_BUTTON_WIDTH: { readonly standard: 230; readonly wide: 312; readonly icon: 48; }; /** Default layout size for Fabric (Paper uses a Yoga measure function on Android). */ export declare function getGoogleSignInButtonIntrinsicStyle(size?: GoogleSignInButtonNativeSize): { width: number; height: number; }; export type GoogleSignInButtonProps = Pick & { /** * When not `none`, runs Credential Manager sign-in on tap (default `credentialManager`). * Ignored if you only use `onPress` with `signInBehavior="none"`. */ signInBehavior?: GoogleSignInButtonSignInBehavior; onSignInSuccess?: (data: OneTapSuccessData) => void; onSignInError?: (error: unknown) => void; /** Custom handler; use alone with `signInBehavior="none"` or alongside built-in sign-in. */ onPress?: () => void | Promise; loading?: boolean; hybridRef?: (ref: GoogleSignInButtonRef) => void; } & Pick; /** * Official branded sign-in button as a Nitro HybridView. * * - **iOS:** `GIDSignInButton` * - **Android:** in-process button using Play services branding assets (not the * Dynamite-backed `SignInButton`, which can paint blank on some devices) * * Default tap uses Credential Manager bottom sheet (`signIn` → `createAccount`), not * `presentExplicitSignIn` (Android account dialog). Use `signInBehavior="buttonFlow"` for that. */ export declare function GoogleSignInButton({ onPress, signInBehavior, onSignInSuccess, onSignInError, loading: loadingProp, disabled: disabledProp, contentAlignment, size, style, hybridRef, ...rest }: GoogleSignInButtonProps): React.JSX.Element; //# sourceMappingURL=GoogleSignInButton.d.ts.map