import { InteractiveZone, Surface, RectangleF, EventObject, PointF } from "@aurigma/design-atoms-model";
import { IInputManager } from "../../Input/InputManager/IInputManager";
import * as TextWhizz from "@aurigma/text-whizz/TextWhizzJS";
import { IInteractiveZoneStateStyle, IInteractiveZonesStyles } from "./ICanvasStyle";
import { ISelectionHandler } from "../../Services";
export interface IInteractiveZonesStateChangedEventArgs {
    active: InteractiveZone;
    highlighted: InteractiveZone;
}
export interface IInteractiveZonesHandler {
    stateChangedEvent: EventObject<IInteractiveZonesStateChangedEventArgs>;
    currentSurface: Surface;
    interactiveZones: InteractiveZone[];
    activeZone: InteractiveZone;
    highlightZone: InteractiveZone;
    isReady(): boolean;
    getZoneStyle(zone: InteractiveZone, isActive: boolean, isHover: boolean): IInteractiveZoneStateStyle;
    getZoneBounds(zone: InteractiveZone): RectangleF;
    setStyles(styles: IInteractiveZonesStyles): any;
    setInputManager(inputManager: IInputManager): any;
    setSelectionHandler(selection: ISelectionHandler): unknown;
    setTextWhizz(textWhizz: typeof TextWhizz): any;
    setOffset(offset: PointF): any;
    getSnapLines(): RectangleF[];
}
