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