import { type ComponentType, type ReactElement, type ReactNode } from "react"; import type { Client, ClientOptions } from "./client.js"; export type { ActionsConfig, CapabilitiesInput, Client, ClientOptions, ConfigureOptions, EventOptions, EventProperties, FlagsInput, FlowRun, GraphOperations, GraphRelationship, GraphRelationshipRef, LinkRequest, LinkRouter, LinksConfig, NativeActionRegistration, OpenFlowOptions, OpenRequestedCallback, OpenRequestedEvent, PrerenderFlowOptions, TrackOptions, } from "./client.js"; export type { UseFlowContainerReturn } from "./flow-container.js"; export { FlowContent, useFlowContainer } from "./flow-container.js"; export type { UseFlowOpenOptions, UseFlowOptions, UseFlowReturn, } from "./use-flow.js"; export { useFlow } from "./use-flow.js"; /** * Custom WebView implementation used by the native runtime. * * The component must forward every received prop and its ref to a compatible * `react-native-webview` WebView instance. The forwarded ref must expose * `injectJavaScript`. */ export type NativeWebViewComponent = ComponentType>; /** * Props for the React Native SDK provider. * * Mount the provider above every component that calls `useGetUserFeedback`. * * @see https://getuserfeedback.com/docs/get-started/react-native-sdk */ export type GetUserFeedbackProviderProps = { /** Application content that can access the SDK client. */ children?: ReactNode; /** Public API key and initialization options for this client. */ clientOptions: ClientOptions; /** * @deprecated Omit this prop. The provider owns runtime identity and creates * a stable identifier for its mounted lifetime. */ instanceId?: string; /** Receives runtime and command errors. */ onError?: (error: Error) => void; /** Custom WebView implementation used by the Core runtime and projected flows. */ webViewComponent?: NativeWebViewComponent; }; export declare function GetUserFeedbackProvider({ children, clientOptions, instanceId: instanceIdProp, onError, webViewComponent, }: GetUserFeedbackProviderProps): ReactElement; /** * Returns the React Native SDK client from the nearest provider. * * @see https://getuserfeedback.com/docs/reference/react-native-sdk-reference#usegetuserfeedback */ export declare function useGetUserFeedback(): Client;