import { AppsInTossPluginOptions } from '@apps-in-toss/plugins'; type F = (...args: any[]) => any; type DeepRequiredKeysOnly = { [K in keyof T]-?: T[K] extends object ? (T[K] extends F ? T[K] : DeepRequiredKeysOnly) : T[K]; }; interface AppsInTossWebConfig extends Omit { appName: string; web: { /** * @default 'localhost' */ host?: string; port: number; commands: { dev: string; build: string; }; }; webViewProps?: { /** * WebView frame type * * @default 'partner' */ type?: 'partner' /** * @deprecated Use 'partner' instead. */ | 'external' | 'game'; /** * * @default false * @platform — ios * * Boolean that determines whether HTML5 videos play inline or use the native full-screen controller. The default value is false. * NOTE : In order for video to play inline, not only does this property need to be set to true, but the video element in the HTML document must also include the webkit-playsinline attribute. */ allowsInlineMediaPlayback?: boolean; /** * @default true * @platform — ios * * Boolean value that determines whether the web view bounces when it reaches the edge of the content. * */ bounces?: boolean; /** * * @default true * @platform - ios * Boolean value that determines whether a pull to refresh gesture is available in the WebView. The default value is false. If true, sets bounces automatically to true */ pullToRefreshEnabled?: boolean; /** * https://developer.android.com/reference/android/view/View#OVER_SCROLL_NEVER Sets the overScrollMode. Possible values are: * 'always' (default) * 'content' * 'never' * @platform — android * @default 'always' */ overScrollMode?: 'always' | 'content' | 'never'; /** * https://github.com/react-native-webview/react-native-webview/blob/master/docs/Reference.md#mediaplaybackrequiresuseraction * Boolean that determines whether HTML5 audio and video requires the user * to tap them before they start playing. The default value is `true`. */ mediaPlaybackRequiresUserAction?: boolean; /** * https://github.com/react-native-webview/react-native-webview/blob/master/docs/Reference.md#allowsbackforwardnavigationgestures * this will be able horizontal swipe gestures. The default value is `true`. */ allowsBackForwardNavigationGestures?: boolean; }; /** * @default 'dist' */ outdir?: string; } type AppsInTossWebConfigResponse = DeepRequiredKeysOnly; declare const defineConfig: (config: AppsInTossWebConfig) => AppsInTossWebConfigResponse; export { type AppsInTossWebConfig, type AppsInTossWebConfigResponse, defineConfig };