import { type RefObject } from "react"; import type { View } from "react-native"; /** Ownership belongs to one safe native plane, never a global screenshot. */ export interface CaptureTarget { ref: RefObject; attach: (view: View | null) => void; setAvailable: (view: View, available: boolean) => void; retain: () => () => void; subscribe: (listener: () => void) => () => void; ready: () => boolean; generation: () => number; active: () => boolean; } export declare function createCaptureTarget(): CaptureTarget; export declare function captureTargetOwner(ref: RefObject): CaptureTarget | undefined; /** Attachment may occur after a backdrop claim arrives. Observe it without remounting content. */ export declare function useReadyCaptureTarget(ref: RefObject | null): RefObject | null; export declare function useCaptureDemand(ref: RefObject, enabled: boolean): void; export declare function useCaptureEnabled(ref: RefObject): boolean; //# sourceMappingURL=capture-target.d.ts.map