import { Dispatcher, EventBus } from '../../bus';
import { $Fetch } from '../../utils';
import { InteractionId, Interaction, InteractionCreate } from '../interaction';
export declare class InteractionEditorManager extends Dispatcher {
    readonly eventBus: EventBus;
    private readonly fetch;
    protected interactions: Interaction[];
    protected updates: Map<InteractionId, {
        id: InteractionId;
        x: number;
        y: number;
    }>;
    private updatesTimeout?;
    constructor(eventBus: EventBus, fetch: $Fetch, autoFetch?: boolean);
    load(): void;
    set(interactions: Interaction[]): void;
    getByPage(page: number): Interaction[];
    add(data: InteractionCreate): Promise<Interaction>;
    update(id: InteractionId, x: number, y: number): void;
    delete(interaction: Interaction): void;
    destroy(): void;
}
