import { FC, RefObject, IframeHTMLAttributes } from 'react'; import { WebView, WebViewProps as ReactNativeWebViewProps } from 'react-native-webview'; import { EmbedClientMessages } from '../models/EmbeddedMessageTypes'; type WebViewProps = Omit; type IframeProps = Omit, 'ref' | 'src'>; export type KomoWebViewProps = { /** * The URL of the embedded card experience. * This can be obtained by querying the embed metadata endpoint. */ embedUrl?: string; /** * The URL of the authorization endpoint. * This can be obtained by querying the embed metadata endpoint. * If this is provided, the experience modal will first load the auth URL, and then redirect to the embed URL. */ embedAuthUrl?: string; /** * The passthrough parameters to add to the auth URL. * These will be added to the auth URL as query parameters. * For example, an auth0 session transfer token can be added to the auth URL as a passthrough parameter. */ authPassthroughParams?: URLSearchParams; /** * Prefill values for the form within the experience. */ formPrefillValues?: Record; /** * Extension data values for the experience. */ extensionDataValues?: Record; /** * Additional props for the iframe component. * Only applies if the platform is web. */ iframeProps?: IframeProps; /** * Additional props for the react-native-webview component. * Only applies if the platform is not web. */ webViewProps?: WebViewProps; /** * Callback for when a file download is requested. * Only applies to iOS. See react-native-webview docs for more details. */ onFileDownload?: ReactNativeWebViewProps['onFileDownload']; iframeRef?: RefObject; webviewRef?: RefObject; isLoading?: boolean; onMessage: (data: EmbedClientMessages) => void; }; export declare const KomoWebView: FC; export {}; //# sourceMappingURL=KomoWebView.d.ts.map