import { PropertyValues } from 'lit';
import { Ref } from 'lit/directives/ref.js';
import { SelectorController } from 'xstate-lit';
import { ActorRefFrom } from 'xstate';
import { Bounds } from '@itk-viewer/utils/bounding-box.js';
import { viewportMachine } from '@itk-viewer/viewer/viewport.js';
import { Camera } from '@itk-viewer/viewer/camera.js';
import { RemoteActor, Image } from '@itk-viewer/remote-viewport/remote-viewport.js';
import { ItkViewport } from './itk-viewport.js';
import './itk-camera.js';
type ViewportActor = ActorRefFrom<typeof viewportMachine>;
export declare class ItkRemoteViewport extends ItkViewport {
    serverConfig: unknown | undefined;
    density: number;
    viewport: ActorRefFrom<typeof viewportMachine>;
    remote: RemoteActor;
    cameraActor: SelectorController<ViewportActor, Camera>;
    remoteOnline: SelectorController<RemoteActor, boolean>;
    lastRemoteOnlineValue: boolean;
    renderLoopRunning: boolean;
    canvas: Ref<HTMLVideoElement>;
    frame: SelectorController<RemoteActor, Image | undefined>;
    lastFrameValue: Image | undefined;
    frameData: ImageData | undefined;
    hostCanvas: HTMLCanvasElement;
    peerConnection: RTCPeerConnection | undefined;
    bounds: SelectorController<RemoteActor, {
        imageWorldBounds: Bounds;
        clipBounds: Bounds;
        clipBoundsWithNormalized: Array<readonly [number, number]>;
    }>;
    cleanDimension: (v: number) => number;
    private resizer;
    constructor();
    protected setPeerConnection(pc: RTCPeerConnection): void;
    startRenderLoop(): void;
    connectedCallback(): void;
    firstUpdated(): void;
    startConnection(): void;
    willUpdate(changedProperties: PropertyValues<this>): void;
    onDensity(event: Event): void;
    onBounds(event: Event, index: number): void;
    render(): import("lit").TemplateResult<1>;
    static styles: import("lit").CSSResult;
}
declare global {
    interface HTMLElementTagNameMap {
        'itk-remote-viewport-webrtc': ItkRemoteViewport;
    }
}
export {};
//# sourceMappingURL=itk-remote-viewport-webrtc.d.ts.map