import { Answer, FieldDefinition, ViewData, DataShapeName } from '@vue-skuilder/common';
import { Question } from '@vue-skuilder/common-ui';
interface A extends Answer {
    [index: number]: number;
}
declare enum Hands {
    LEFT = "LEFT",
    RIGHT = "RIGHT"
}
export declare class CountBy extends Question {
    static dataShapes: {
        name: DataShapeName;
        fields: FieldDefinition[];
    }[];
    static views: import('vue').DefineComponent<{
        data: ViewData[];
        modifyDifficulty: number;
    }, {
        answer: import('vue').Ref<string[], string[]>;
        question: import('vue').ComputedRef<CountBy>;
        track: (n: number) => void;
        priorSessionViews: import('vue').Ref<number>;
        priorAttempts: import('vue').Ref<number>;
        priorAnswers: import('vue').Ref<[Answer, string][]>;
        maxAttemptsPerView: import('vue').Ref<number>;
        maxSessionViews: import('vue').Ref<number>;
        submitAnswer: (answer: Answer, submittingClass?: string, opts?: import('@vue-skuilder/common-ui').SubmitAnswerOpts) => QuestionRecord;
        startTime: import('vue').Ref<moment.Moment>;
        hotKeys: import('vue').Ref<import('@vue-skuilder/common-ui').HotKey[]>;
        timeSpent: import('vue').ComputedRef<number>;
        logger: import('@vue-skuilder/common-ui').ViewableLogger;
        getURL: (item: string, dataShapeIndex?: number) => string;
        emitResponse: (record: CardRecord) => void;
    }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
        data: ViewData[];
        modifyDifficulty: number;
    }> & Readonly<{}>, {
        modifyDifficulty: number;
    }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>[];
    n: number;
    hand: Hands;
    static seedData: {
        n: number;
        hand: Hands;
    }[];
    static acceptsUserData: boolean;
    constructor(data: ViewData[]);
    get answer(): number[];
    isCorrect(answer: A): boolean;
    dataShapes(): {
        name: DataShapeName;
        fields: FieldDefinition[];
    }[];
    views(): import('vue').DefineComponent<{
        data: ViewData[];
        modifyDifficulty: number;
    }, {
        answer: import('vue').Ref<string[], string[]>;
        question: import('vue').ComputedRef<CountBy>;
        track: (n: number) => void;
        priorSessionViews: import('vue').Ref<number>;
        priorAttempts: import('vue').Ref<number>;
        priorAnswers: import('vue').Ref<[Answer, string][]>;
        maxAttemptsPerView: import('vue').Ref<number>;
        maxSessionViews: import('vue').Ref<number>;
        submitAnswer: (answer: Answer, submittingClass?: string, opts?: import('@vue-skuilder/common-ui').SubmitAnswerOpts) => QuestionRecord;
        startTime: import('vue').Ref<moment.Moment>;
        hotKeys: import('vue').Ref<import('@vue-skuilder/common-ui').HotKey[]>;
        timeSpent: import('vue').ComputedRef<number>;
        logger: import('@vue-skuilder/common-ui').ViewableLogger;
        getURL: (item: string, dataShapeIndex?: number) => string;
        emitResponse: (record: CardRecord) => void;
    }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
        data: ViewData[];
        modifyDifficulty: number;
    }> & Readonly<{}>, {
        modifyDifficulty: number;
    }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>[];
}
export {};
//# sourceMappingURL=index.d.ts.map