import { Dispatcher, EventBus } from '../../bus';
import { Interaction, InteractionId } from './interaction';
export declare class InteractionManager extends Dispatcher {
    readonly eventBus: EventBus;
    protected interactions: Interaction[];
    protected groupedByPageCache?: Map<number, Interaction[]>;
    constructor(eventBus: EventBus);
    get length(): number;
    get uncompleted(): Interaction[];
    get completed(): Interaction[];
    get all(): Interaction[];
    set(interactions: Interaction[]): void;
    getGroupedByPage(): Map<number, Interaction[]>;
    getByPage(page: number): Interaction[] | undefined;
    find(interactionId: InteractionId): Interaction | undefined;
    select(interaction?: Interaction | InteractionId): void;
    markAsCompleted(interaction: Interaction): void;
    private resetGroupedByPageCache;
    destroy(): void;
}
