import * as MedsurfDraw from "../../public-api";
import { BaseGenerator } from "../../bases/generators/BaseGenerator";
import { FillGeneratorModel } from "../fills/FillGenerator";
export declare enum InteractiveAreaGeneratorStates {
    FILL = 0,
    TEXT = 1
}
export declare class InteractiveAreaGeneratorModel extends FillGeneratorModel {
}
export declare class InteractiveAreaGenerator extends BaseGenerator<MedsurfDraw.Image, InteractiveAreaGeneratorModel> {
    protected _state: InteractiveAreaGeneratorStates;
    protected _fillGenerator: MedsurfDraw.FillGenerator;
    protected _textPrimitiveGenerator: MedsurfDraw.TextPrimitiveGenerator;
    protected _fillCollectionElement: MedsurfDraw.FillCollection;
    protected _lineElement: MedsurfDraw.Line;
    constructor(model: InteractiveAreaGeneratorModel);
    end(): void;
    destroy(options?: {
        children?: boolean;
        texture?: boolean;
        baseTexture?: boolean;
    }): void;
    endGenerator(): void;
    abortGenerator(): void;
    protected _setupGenerator(positionPoint?: MedsurfDraw.PositionPoint): void;
    protected destroyText(): void;
    endInteractiveAreaGenerator(): void;
    abortInteractiveAreaGenerator(): void;
    startTextPrimitiveGenerator(): void;
    endTextPrimitiveGenerator(): void;
    abortTextPrimitiveGenerator(): void;
    get drawInteraction(): MedsurfDraw.DrawInteraction<MedsurfDraw.PositionPoint | MedsurfDraw.FillCollection | MedsurfDraw.TextPrimitive>;
    get bezierCourve(): boolean | undefined;
    set bezierCourve(value: boolean | undefined);
    get stickMode(): MedsurfDraw.StickMode;
    set stickMode(value: MedsurfDraw.StickMode);
}
