import { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';
import { Tap } from '@iotize/tap';
import { CurrentDeviceService } from './current-device.service';
import { ProtocolMeta } from './extensions/protocol-info';
import { ProtocolFactoryService } from './protocol-factory.service';
export declare type TapResolved = {
    tap: Tap;
} | {
    error: Error;
};
/**
 * Route resolver to make sure that a Tap is set at this point
 *
 */
export declare class ConnectedTapResolver implements Resolve<TapResolved | undefined> {
    private tapService;
    private router;
    private protocolFactory;
    config: {
        websocket: boolean;
        iframe: boolean;
    };
    constructor(tapService: CurrentDeviceService, router: Router, protocolFactory: ProtocolFactoryService);
    resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise<TapResolved | undefined>;
    onError(error: Error): {
        error: Error;
    } | PromiseLike<TapResolved>;
    tryRestaureSession(): ProtocolMeta | undefined;
}
export declare function stringToProtocolMeta(value: string): ProtocolMeta | undefined;
