/// <reference path="types/android/webviewinterface.d.ts" />
import "@nativescript/core";
import { WebViewExtBase } from "./webview-ext-common";
export * from "./webview-ext-common";
export interface AndroidWebViewClient extends android.webkit.WebViewClient {
}
export interface AndroidWebView extends android.webkit.WebView {
    client: AndroidWebViewClient | null;
    chromeClient: android.webkit.WebChromeClient | null;
    bridgeInterface?: dk.nota.webviewinterface.WebViewBridgeInterface;
}
export declare class WebViewExt extends WebViewExtBase {
    static supportXLocalScheme: boolean;
    nativeViewProtected: AndroidWebView | void;
    protected readonly localResourceMap: Map<string, string>;
    supportXLocalScheme: boolean;
    readonly instance: number;
    android: AndroidWebView;
    createNativeView(): AndroidWebView;
    initNativeView(): void;
    disposeNativeView(): void;
    ensurePromiseSupport(): Promise<void>;
    _loadUrl(src: string): void;
    _loadData(src: string): void;
    get canGoBack(): boolean;
    stopLoading(): void;
    get canGoForward(): boolean;
    goBack(): void;
    goForward(): void;
    reload(): void;
    registerLocalResource(resourceName: string, path: string): void;
    unregisterLocalResource(resourceName: string): void;
    getRegisteredLocalResource(resourceName: string): string | undefined;
    ensureFetchSupport(): Promise<void>;
    executeJavaScript<T>(scriptCode: string): Promise<T>;
    getTitle(): Promise<string | void>;
    zoomIn(): boolean;
    zoomOut(): boolean;
    zoomBy(zoomFactor: number): void;
}