import { type BiometricAvailability, type BiometricAuthResult, type BiometricPermissionResult, type BiometricAuthOptions, type BiometricKeyResult, type BiometricKeyExistsResult, type BiometricSignatureResult, BiometricType, BiometricErrorCode, BiometricOtherwayMode } from './NativeBiometrics';
export { BiometricType, BiometricErrorCode, BiometricOtherwayMode };
export type { BiometricAvailability, BiometricAuthResult, BiometricPermissionResult, BiometricAuthOptions, BiometricKeyResult, BiometricKeyExistsResult, BiometricSignatureResult, };
/**
 * React Native Biometrics Library
 * Provides biometric authentication functionality for iOS and Android
 */
export declare class ReactNativeBiometrics {
    /**
     * Check if biometric authentication is available on the device
     * @returns Promise<BiometricAvailability>
     */
    static checkBiometricAvailability(): Promise<BiometricAvailability>;
    /**
     * Request permission to use biometric authentication
     * @returns Promise<BiometricPermissionResult>
     */
    static requestBiometricPermission(): Promise<BiometricPermissionResult>;
    /**
     * Authenticate using biometric
     * @param options - Authentication options
     * @returns Promise<BiometricAuthResult>
     */
    static authenticateBiometric(options?: BiometricAuthOptions): Promise<BiometricAuthResult>;
    /**
     * Authenticate using device PIN/passcode only
     * @returns Promise<BiometricAuthResult>
     */
    static authenticatePIN(): Promise<BiometricAuthResult>;
    /**
     * Create a new biometric private key
     * Only one key per app is allowed for security
     * @returns Promise<BiometricKeyResult>
     */
    static createBiometricKey(): Promise<BiometricKeyResult>;
    /**
     * Check if biometric private key exists
     * @returns Promise<BiometricKeyExistsResult>
     */
    static biometricKeyExists(): Promise<BiometricKeyExistsResult>;
    /**
     * Delete the biometric private key
     * @returns Promise<BiometricKeyResult>
     */
    static deleteBiometricKey(): Promise<BiometricKeyResult>;
    /**
     * Create signature with biometric authentication
     * @param payload - The data to sign (will be hashed internally)
     * @param options - Authentication options for prompt customization
     * @returns Promise<BiometricSignatureResult>
     */
    static createSignature(payload: string, options?: BiometricAuthOptions): Promise<BiometricSignatureResult>;
}
export default ReactNativeBiometrics;
//# sourceMappingURL=index.d.ts.map