/// <reference path="../../../../../../src/@types/@kano/common/index.d.ts" />
import { Part, IPartContext } from '../../part.js';
import { EventEmitter } from '@kano/common/index.js';
import { PartComponent } from '../../component.js';
import { Sticker } from '../sticker/types.js';
declare class MouseComponent extends PartComponent {
    down: EventEmitter;
    up: EventEmitter;
    move: EventEmitter;
    cursor: Sticker;
}
export declare class MousePart extends Part {
    private _scale;
    private _rect;
    private _x;
    private _y;
    private _dx;
    private _dy;
    private _lastMoveEvent;
    private _root;
    private _imageCache;
    private _stickers;
    core: MouseComponent;
    static transformLegacy(app: any): void;
    constructor();
    updatePosition(context: IPartContext, pageX: number, pageY: number): void;
    onInstall(context: IPartContext): void;
    resize(context: IPartContext): void;
    render(): void;
    onDown(callback: () => void): import("@kano/common/index.js").IDisposable;
    onUp(callback: () => void): import("@kano/common/index.js").IDisposable;
    onMove(callback: () => void): import("@kano/common/index.js").IDisposable;
    readonly x: number;
    readonly y: number;
    readonly dx: number;
    readonly dy: number;
    cursor: string;
    random(id: string): string;
    stampChoice(id: string): string;
    loadImage(url: string): Promise<string>;
}
export {};
