import type React from 'react';
import { type ViewStyle, type TextStyle, type StyleProp } from 'react-native';
export interface OxySignInButtonProps {
    /**
     * Controls the appearance of the button
     * @default 'default'
     */
    variant?: 'default' | 'outline' | 'contained';
    /**
     * Optional function to handle button press
     * If not provided, the button will use the showBottomSheet method from OxyContext
     */
    onPress?: () => void;
    /**
     * Additional styles for the button container
     */
    style?: StyleProp<ViewStyle>;
    /**
     * Additional styles for the button text
     */
    textStyle?: StyleProp<TextStyle>;
    /**
     * Custom button text
     * @default 'Sign in with Oxy'
     */
    text?: string;
    /**
     * Whether to disable the button
     * @default false
     */
    disabled?: boolean;
    /**
     * Whether to show the button even if user is already authenticated
     * @default false
     */
    showWhenAuthenticated?: boolean;
}
/**
 * A pre-styled button component for signing in with Oxy identity
 *
 * This component opens the Oxy Auth flow which allows users to authenticate
 * using their Oxy Accounts identity (via QR code or deep link).
 *
 * @example
 * ```tsx
 * // Basic usage
 * <OxySignInButton />
 *
 * // Custom styling
 * <OxySignInButton
 *   variant="contained"
 *   style={{ marginTop: 20 }}
 *   text="Login with Oxy"
 * />
 *
 * // Custom handler
 * <OxySignInButton onPress={() => {
 *   // Custom authentication flow
 *   console.log('Custom auth flow initiated');
 * }} />
 * ```
 */
export declare const OxySignInButton: React.FC<OxySignInButtonProps>;
export default OxySignInButton;
//# sourceMappingURL=OxySignInButton.d.ts.map