import type { Viewport } from '../Viewport.js';
import { type Props as ContainerProps, Container } from '../Container.js';
import { Size } from '../geometry.js';
import { System } from '../System.js';
import type { MouseEvent, MouseEventListenerName } from '../events/index.js';
export interface Props extends ContainerProps {
    mouse?: MouseEventListenerName | MouseEventListenerName[];
    onMouse?: (event: MouseEvent, system: System) => void;
}
/**
 * A non-visual container that receives mouse events as a fallback. Children that
 * register for mouse events on the same pixels will take priority (since they
 * render after this view and override the registration).
 *
 * By default listens for all button and wheel events. Pass `mouse` to restrict
 * which events to listen for.
 */
export declare class Mouse extends Container {
    #private;
    constructor(props: Props);
    update(props: Props): void;
    naturalSize(available: Size): Size;
    receiveMouse(event: MouseEvent, system: System): void;
    render(viewport: Viewport): void;
}
