import { services } from 'ask-sdk-model';
import { IRequestContext } from 'dotup-ts-node-skills';
import { IButton } from '../Interfaces/IButton';
import { IGameRequirements } from '../Interfaces/IGameRequirements';
import { IRollcallModel } from './IRollcallModel';
export declare abstract class Rollcall {
    protected readonly context: IRequestContext;
    protected readonly requirements: IGameRequirements;
    readonly model: IRollcallModel;
    constructor(context: IRequestContext, requirements: IGameRequirements);
    protected abstract createStartDirective(): void;
    abstract isValid(): boolean;
    abstract YesIntent(): void;
    abstract NoIntent(): void;
    protected abstract OnTimeout(item: services.gameEngine.InputHandlerEvent): void;
    protected abstract OnButtonFound(name: string, id: string, nextButton: IButton): void;
    Start(): void;
    protected StopRollcall(): void;
    GameEngineInputHandlerEvent(): void;
    protected CancelRollcall(): void;
    private InputHandlerEvent;
    protected ButtonGroupDown(buttonName: string, inputEvent: services.gameEngine.InputEvent[]): void;
    protected ButtonDown(buttonName: string, inputEvent: services.gameEngine.InputEvent): void;
    private loadModel;
}
