import * as React from 'react'; import type { ReactNode } from 'react'; import { type BleConnection, type BleConnectionEvent, type BleManager, type BlePeer, type ScanOptions } from './public/ble-manager.js'; import type { BleAdapterState } from './public/ble-adapter.js'; import type { GattCharacteristic, GattSubscribeOptions, GattValueEvent } from './public/gatt.js'; import type { BleCapabilities, CapabilityDescriptor, FeatureId } from './public/capabilities.js'; import type { BleReadiness, ExpoBleManager } from './expo.js'; export type BleManagerFactory = () => Promise; export interface BleProviderProps { readonly createManager: BleManagerFactory; readonly managerKey?: string | symbol; readonly ownershipScope?: string | symbol; readonly onError?: (error: Error) => void; readonly children?: ReactNode; } export interface BleContextValue { readonly manager: BleManager | null; readonly loading: boolean; readonly error: Error | null; } export interface UseAdapterStateResult { readonly state: BleAdapterState | null; readonly loading: boolean; readonly error: Error | null; } export interface UseBleReadinessResult { readonly readiness: BleReadiness | null; readonly loading: boolean; readonly error: Error | null; } export interface UseDiscoveredPeersResult { readonly peers: readonly BlePeer[]; readonly state: 'idle' | 'starting' | 'active' | 'stopped' | 'failed'; readonly error: Error | null; } export interface UseConnectionStateResult { readonly state: BleConnectionEvent['current'] | null; readonly loading: boolean; readonly error: Error | null; } export interface UseCharacteristicValueResult { readonly value: GattValueEvent | null; readonly loading: boolean; readonly error: Error | null; } export declare function BleProvider({ createManager, managerKey, ownershipScope, onError, children }: BleProviderProps): React.ReactElement; export declare function useBle(): BleContextValue; export declare function getAdapterState(manager: Pick): Promise; export declare function useAdapterState(): UseAdapterStateResult; export declare function getBleCapability(manager: Pick, id: FeatureId): CapabilityDescriptor | undefined; export declare function useBleCapability(id: FeatureId): CapabilityDescriptor | undefined; export declare function getBleReadiness(manager: Pick): Promise; export declare function useBleReadiness(): UseBleReadinessResult; export declare function useDiscoveredPeers(options?: ScanOptions): UseDiscoveredPeersResult; export declare function useConnectionState(connection: BleConnection | null): UseConnectionStateResult; export declare function useCharacteristicValue(characteristic: GattCharacteristic | null, options?: GattSubscribeOptions): UseCharacteristicValueResult; export type { BleAdapterState, BleCapabilities, CapabilityDescriptor, FeatureId }; //# sourceMappingURL=react.d.ts.map