#![allow(non_upper_case_globals)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#[cfg(feature = "api-18")]
use crate::arkweb_type::ArkWeb_OnScrollCallback;
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[repr(C)]
pub struct ArkWeb_AnyNativeAPI {
pub size: usize,
}
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
impl ArkWeb_NativeAPIVariantKind {
pub const ARKWEB_NATIVE_COMPONENT: ArkWeb_NativeAPIVariantKind = ArkWeb_NativeAPIVariantKind(0);
pub const ARKWEB_NATIVE_CONTROLLER: ArkWeb_NativeAPIVariantKind =
ArkWeb_NativeAPIVariantKind(1);
pub const ARKWEB_NATIVE_WEB_MESSAGE_PORT: ArkWeb_NativeAPIVariantKind =
ArkWeb_NativeAPIVariantKind(2);
pub const ARKWEB_NATIVE_WEB_MESSAGE: ArkWeb_NativeAPIVariantKind =
ArkWeb_NativeAPIVariantKind(3);
pub const ARKWEB_NATIVE_COOKIE_MANAGER: ArkWeb_NativeAPIVariantKind =
ArkWeb_NativeAPIVariantKind(4);
#[cfg(feature = "api-18")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
pub const ARKWEB_NATIVE_JAVASCRIPT_VALUE: ArkWeb_NativeAPIVariantKind =
ArkWeb_NativeAPIVariantKind(5);
}
#[repr(transparent)]
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct ArkWeb_NativeAPIVariantKind(pub ::core::ffi::c_uint);
extern "C" {
#[cfg(feature = "api-12")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
pub fn OH_ArkWeb_GetNativeAPI(type_: ArkWeb_NativeAPIVariantKind) -> *mut ArkWeb_AnyNativeAPI;
#[cfg(feature = "api-18")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-18")))]
pub fn OH_ArkWeb_RegisterScrollCallback(
webTag: *const ::core::ffi::c_char,
callback: ArkWeb_OnScrollCallback,
userData: *mut ::core::ffi::c_void,
) -> bool;
}