import { NativeEvent, NativeMessenger, NativeMethodsRegister, WebviewRef, WebviewMethods } from '../../api';
export declare class NativeService {
    private readonly messengerService;
    private localMethods;
    private messengerRegister;
    constructor(localMethods: NativeMethodsRegister, messengerService?: typeof NativeMessenger);
    updateLocalMethods: (localMethods: NativeMethodsRegister) => void;
    private isNativeEvent;
    private getUri;
    private parseNativeEvent;
    private isPostMeMessage;
    private isInitMessage;
    registerWebview: (uri: string, slug: string, ref: WebviewRef) => void;
    unregisterWebview: (uri: string) => void;
    private initWebview;
    tryEmit: (event: NativeEvent, componentId: string) => Promise<void>;
    private tryInit;
    private tryOnMessage;
    private getHostname;
    call: (uri: string, methodName: keyof WebviewMethods, ...args: Parameters<NativeMethodsRegister[keyof NativeMethodsRegister]>) => ReturnType<NativeMethodsRegister[keyof NativeMethodsRegister]> | void;
}
