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