import { ILogger } from "./logger";
import { RpcSafeClient } from "./rpcSafeClient";
/**
 * Interface defining viewport functionality
 */
export interface IViewport {
    /** The HTML canvas element used for rendering */
    canvas: HTMLCanvasElement;
    /** Updates the aspect ratio of the viewport on the server */
    update(): void;
}
/**
 * Class managing the viewport and canvas resizing functionality
 */
export declare class Viewport {
    /** The HTML canvas element used for rendering */
    canvas: HTMLCanvasElement;
    private _rpc;
    private _logger;
    private _observer;
    private _clearTimeout;
    /**
     * Creates a new Viewport instance
     * @param canvas - The HTML canvas element to observe and manage
     * @param rpc - RPC client for viewport communication
     */
    constructor(canvas: HTMLCanvasElement, rpc: RpcSafeClient, logger: ILogger);
    /**
     * Handles resize events for the canvas
     * @private
     */
    private onResize;
    /**
     * Updates the aspect ratio of the viewport on the server
     */
    update(): void;
    /**
     * Cleans up resources by removing resize observer and clearing timeouts
     */
    dispose(): void;
}
