import { type ComponentType, type Ref, type RefObject } from "react"; import { type View, type ViewProps } from "react-native"; export interface CaptureStats { hosts: number; activeHosts: number; recordings: number; frostViews: number; frameListeners: number; } /** The two expo-modules-core calls the capture module makes. */ export interface ExpoModulesCore { requireNativeModule(moduleName: string): T; requireNativeViewManager

(moduleName: string, viewName?: string): ComponentType

; } export interface CaptureHostProps extends ViewProps { ref?: Ref; captureEnabled: boolean; onAvailabilityChange?: (event: { nativeEvent: { targetId: number; available: boolean; }; }) => void; } /** Why a FrostView refused its target. */ export type TargetRejectionReason = "ancestor"; /** The event a FrostView sends when it refuses the host `targetRef` names. */ export interface TargetRejectedEvent { nativeEvent: { targetId: number; reason: TargetRejectionReason; }; } export interface FrostViewProps extends ViewProps { targetRef: RefObject; intensity: number; tint: "light" | "dark"; /** * Called once when the frost refuses its target: `ancestor` when the host contains the * frost, which it can never sample (its recording would draw the frost itself). The * frost then draws no blur, so the app falls back to its solid look. A host that is * merely detached reports through its own `onAvailabilityChange` instead. */ onTargetRejected?: (event: TargetRejectedEvent) => void; } export interface CaptureModule { available: boolean; PaintHost?: ComponentType; CaptureHost?: ComponentType; FrostView?: ComponentType; getCaptureStats(): CaptureStats; } /** Binds the native module. Throws when Android has no `CanvasBlur` module registered. */ export declare function createCaptureModule(core: ExpoModulesCore): CaptureModule; //# sourceMappingURL=capture-module.d.ts.map