import * as PIXI from "pixi.js-legacy";
import { ImageObject } from "../elements/ImageObject";
export declare class BaseGeneratorModel<TTarget extends ImageObject> {
    target: TTarget;
}
export declare abstract class BaseGenerator<TTarget extends ImageObject, TData extends BaseGeneratorModel<TTarget>> extends PIXI.utils.EventEmitter {
    private _data;
    protected _debounceStartMethod: any;
    protected _debounceEndMethod: any;
    protected constructor(data: TData);
    start(event: PIXI.InteractionEvent): void;
    end(): void;
    abstract destroy(options?: {
        children?: boolean;
        texture?: boolean;
        baseTexture?: boolean;
    }): void;
    endGenerator(): void;
    abortGenerator(): void;
    get data(): TData;
    set data(value: TData);
    get target(): TTarget;
    set target(value: TTarget);
}
