import { Question } from '../../../../../common-ui/dist/common-ui.es.js';
import { DataShape, ViewData } from '../../../../../common/dist/index.mjs';
import { NoteEvent } from '../../utility/midi';
export declare const inputs: string[];
export declare class PlayNote extends Question {
    static dataShapes: DataShape[];
    static seedData: {
        Note: string;
    }[];
    static views: import('vue').DefineComponent<{
        data: ViewData[];
        modifyDifficulty: number;
    }, {
        initialized: import('vue').Ref<boolean, boolean>;
        recording: import('vue').Ref<boolean, boolean>;
        inputSeq: import('vue').Ref<{
            syllables: {
                notes: {
                    note: {
                        number: number;
                        name: string;
                        octave: number;
                    };
                    velocity: number;
                    timestamp: number;
                    type: "noteon" | "noteoff";
                    isCorrect: boolean;
                    isMissing: boolean;
                }[];
                isCorrect: boolean | undefined;
                readonly timestamp: number;
                grade: (answer: {
                    notes: (NoteEvent & {
                        isCorrect: boolean;
                        isMissing: boolean;
                    })[];
                    isCorrect: boolean | undefined;
                    readonly timestamp: number;
                    grade(answer: /*elided*/ any): /*elided*/ any;
                }) => {
                    notes: (NoteEvent & {
                        isCorrect: boolean;
                        isMissing: boolean;
                    })[];
                    isCorrect: boolean | undefined;
                    readonly timestamp: number;
                    grade(answer: /*elided*/ any): /*elided*/ any;
                };
            }[];
            rootNote: {
                number: number;
                name: string;
                octave: number;
            };
            append: (e: NoteEvent) => void;
            grade: (answer: import('../../..').SyllableSequence) => import('../../..').SyllableSequence;
            toString: () => string;
            isCorrect: () => boolean;
        }, import('../../..').SyllableSequence | {
            syllables: {
                notes: {
                    note: {
                        number: number;
                        name: string;
                        octave: number;
                    };
                    velocity: number;
                    timestamp: number;
                    type: "noteon" | "noteoff";
                    isCorrect: boolean;
                    isMissing: boolean;
                }[];
                isCorrect: boolean | undefined;
                readonly timestamp: number;
                grade: (answer: {
                    notes: (NoteEvent & {
                        isCorrect: boolean;
                        isMissing: boolean;
                    })[];
                    isCorrect: boolean | undefined;
                    readonly timestamp: number;
                    grade(answer: /*elided*/ any): /*elided*/ any;
                }) => {
                    notes: (NoteEvent & {
                        isCorrect: boolean;
                        isMissing: boolean;
                    })[];
                    isCorrect: boolean | undefined;
                    readonly timestamp: number;
                    grade(answer: /*elided*/ any): /*elided*/ any;
                };
            }[];
            rootNote: {
                number: number;
                name: string;
                octave: number;
            };
            append: (e: NoteEvent) => void;
            grade: (answer: import('../../..').SyllableSequence) => import('../../..').SyllableSequence;
            toString: () => string;
            isCorrect: () => boolean;
        }>;
        gradedSeq: import('vue').Ref<{
            syllables: {
                notes: {
                    note: {
                        number: number;
                        name: string;
                        octave: number;
                    };
                    velocity: number;
                    timestamp: number;
                    type: "noteon" | "noteoff";
                    isCorrect: boolean;
                    isMissing: boolean;
                }[];
                isCorrect: boolean | undefined;
                readonly timestamp: number;
                grade: (answer: {
                    notes: (NoteEvent & {
                        isCorrect: boolean;
                        isMissing: boolean;
                    })[];
                    isCorrect: boolean | undefined;
                    readonly timestamp: number;
                    grade(answer: /*elided*/ any): /*elided*/ any;
                }) => {
                    notes: (NoteEvent & {
                        isCorrect: boolean;
                        isMissing: boolean;
                    })[];
                    isCorrect: boolean | undefined;
                    readonly timestamp: number;
                    grade(answer: /*elided*/ any): /*elided*/ any;
                };
            }[];
            rootNote: {
                number: number;
                name: string;
                octave: number;
            };
            append: (e: NoteEvent) => void;
            grade: (answer: import('../../..').SyllableSequence) => import('../../..').SyllableSequence;
            toString: () => string;
            isCorrect: () => boolean;
        }, import('../../..').SyllableSequence | {
            syllables: {
                notes: {
                    note: {
                        number: number;
                        name: string;
                        octave: number;
                    };
                    velocity: number;
                    timestamp: number;
                    type: "noteon" | "noteoff";
                    isCorrect: boolean;
                    isMissing: boolean;
                }[];
                isCorrect: boolean | undefined;
                readonly timestamp: number;
                grade: (answer: {
                    notes: (NoteEvent & {
                        isCorrect: boolean;
                        isMissing: boolean;
                    })[];
                    isCorrect: boolean | undefined;
                    readonly timestamp: number;
                    grade(answer: /*elided*/ any): /*elided*/ any;
                }) => {
                    notes: (NoteEvent & {
                        isCorrect: boolean;
                        isMissing: boolean;
                    })[];
                    isCorrect: boolean | undefined;
                    readonly timestamp: number;
                    grade(answer: /*elided*/ any): /*elided*/ any;
                };
            }[];
            rootNote: {
                number: number;
                name: string;
                octave: number;
            };
            append: (e: NoteEvent) => void;
            grade: (answer: import('../../..').SyllableSequence) => import('../../..').SyllableSequence;
            toString: () => string;
            isCorrect: () => boolean;
        }>;
        graded: import('vue').Ref<boolean, boolean>;
        note: import('vue').Ref<string, string>;
        attempts: import('vue').Ref<number, number>;
        priorSessionViews: import('vue').Ref<number>;
        priorAttempts: import('vue').Ref<number>;
        priorAnswers: import('vue').Ref<[import('../../../../../common/dist/index.mjs').Answer, string][]>;
        maxAttemptsPerView: import('vue').Ref<number>;
        maxSessionViews: import('vue').Ref<number>;
        question: import('vue').Ref<PlayNote | undefined, PlayNote | undefined>;
        submitAnswer: (answer: import('../../../../../common/dist/index.mjs').Answer, submittingClass?: string) => import('packages/db/dist').QuestionRecord;
        startTime: import('vue').Ref<moment.Moment>;
        hotKeys: import('vue').Ref<import('../../../../../common-ui/dist/common-ui.es.js').HotKey[]>;
        timeSpent: import('vue').ComputedRef<number>;
        logger: import('../../../../../common-ui/dist/common-ui.es.js').ViewableLogger;
        getURL: (item: string, dataShapeIndex?: number) => string;
        emitResponse: (record: import('packages/db/dist').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>[];
    note: string;
    constructor(data: ViewData[]);
    isCorrect(answer: NoteEvent[]): boolean;
    dataShapes(): DataShape[];
    views(): import('vue').DefineComponent<{
        data: ViewData[];
        modifyDifficulty: number;
    }, {
        initialized: import('vue').Ref<boolean, boolean>;
        recording: import('vue').Ref<boolean, boolean>;
        inputSeq: import('vue').Ref<{
            syllables: {
                notes: {
                    note: {
                        number: number;
                        name: string;
                        octave: number;
                    };
                    velocity: number;
                    timestamp: number;
                    type: "noteon" | "noteoff";
                    isCorrect: boolean;
                    isMissing: boolean;
                }[];
                isCorrect: boolean | undefined;
                readonly timestamp: number;
                grade: (answer: {
                    notes: (NoteEvent & {
                        isCorrect: boolean;
                        isMissing: boolean;
                    })[];
                    isCorrect: boolean | undefined;
                    readonly timestamp: number;
                    grade(answer: /*elided*/ any): /*elided*/ any;
                }) => {
                    notes: (NoteEvent & {
                        isCorrect: boolean;
                        isMissing: boolean;
                    })[];
                    isCorrect: boolean | undefined;
                    readonly timestamp: number;
                    grade(answer: /*elided*/ any): /*elided*/ any;
                };
            }[];
            rootNote: {
                number: number;
                name: string;
                octave: number;
            };
            append: (e: NoteEvent) => void;
            grade: (answer: import('../../..').SyllableSequence) => import('../../..').SyllableSequence;
            toString: () => string;
            isCorrect: () => boolean;
        }, import('../../..').SyllableSequence | {
            syllables: {
                notes: {
                    note: {
                        number: number;
                        name: string;
                        octave: number;
                    };
                    velocity: number;
                    timestamp: number;
                    type: "noteon" | "noteoff";
                    isCorrect: boolean;
                    isMissing: boolean;
                }[];
                isCorrect: boolean | undefined;
                readonly timestamp: number;
                grade: (answer: {
                    notes: (NoteEvent & {
                        isCorrect: boolean;
                        isMissing: boolean;
                    })[];
                    isCorrect: boolean | undefined;
                    readonly timestamp: number;
                    grade(answer: /*elided*/ any): /*elided*/ any;
                }) => {
                    notes: (NoteEvent & {
                        isCorrect: boolean;
                        isMissing: boolean;
                    })[];
                    isCorrect: boolean | undefined;
                    readonly timestamp: number;
                    grade(answer: /*elided*/ any): /*elided*/ any;
                };
            }[];
            rootNote: {
                number: number;
                name: string;
                octave: number;
            };
            append: (e: NoteEvent) => void;
            grade: (answer: import('../../..').SyllableSequence) => import('../../..').SyllableSequence;
            toString: () => string;
            isCorrect: () => boolean;
        }>;
        gradedSeq: import('vue').Ref<{
            syllables: {
                notes: {
                    note: {
                        number: number;
                        name: string;
                        octave: number;
                    };
                    velocity: number;
                    timestamp: number;
                    type: "noteon" | "noteoff";
                    isCorrect: boolean;
                    isMissing: boolean;
                }[];
                isCorrect: boolean | undefined;
                readonly timestamp: number;
                grade: (answer: {
                    notes: (NoteEvent & {
                        isCorrect: boolean;
                        isMissing: boolean;
                    })[];
                    isCorrect: boolean | undefined;
                    readonly timestamp: number;
                    grade(answer: /*elided*/ any): /*elided*/ any;
                }) => {
                    notes: (NoteEvent & {
                        isCorrect: boolean;
                        isMissing: boolean;
                    })[];
                    isCorrect: boolean | undefined;
                    readonly timestamp: number;
                    grade(answer: /*elided*/ any): /*elided*/ any;
                };
            }[];
            rootNote: {
                number: number;
                name: string;
                octave: number;
            };
            append: (e: NoteEvent) => void;
            grade: (answer: import('../../..').SyllableSequence) => import('../../..').SyllableSequence;
            toString: () => string;
            isCorrect: () => boolean;
        }, import('../../..').SyllableSequence | {
            syllables: {
                notes: {
                    note: {
                        number: number;
                        name: string;
                        octave: number;
                    };
                    velocity: number;
                    timestamp: number;
                    type: "noteon" | "noteoff";
                    isCorrect: boolean;
                    isMissing: boolean;
                }[];
                isCorrect: boolean | undefined;
                readonly timestamp: number;
                grade: (answer: {
                    notes: (NoteEvent & {
                        isCorrect: boolean;
                        isMissing: boolean;
                    })[];
                    isCorrect: boolean | undefined;
                    readonly timestamp: number;
                    grade(answer: /*elided*/ any): /*elided*/ any;
                }) => {
                    notes: (NoteEvent & {
                        isCorrect: boolean;
                        isMissing: boolean;
                    })[];
                    isCorrect: boolean | undefined;
                    readonly timestamp: number;
                    grade(answer: /*elided*/ any): /*elided*/ any;
                };
            }[];
            rootNote: {
                number: number;
                name: string;
                octave: number;
            };
            append: (e: NoteEvent) => void;
            grade: (answer: import('../../..').SyllableSequence) => import('../../..').SyllableSequence;
            toString: () => string;
            isCorrect: () => boolean;
        }>;
        graded: import('vue').Ref<boolean, boolean>;
        note: import('vue').Ref<string, string>;
        attempts: import('vue').Ref<number, number>;
        priorSessionViews: import('vue').Ref<number>;
        priorAttempts: import('vue').Ref<number>;
        priorAnswers: import('vue').Ref<[import('../../../../../common/dist/index.mjs').Answer, string][]>;
        maxAttemptsPerView: import('vue').Ref<number>;
        maxSessionViews: import('vue').Ref<number>;
        question: import('vue').Ref<PlayNote | undefined, PlayNote | undefined>;
        submitAnswer: (answer: import('../../../../../common/dist/index.mjs').Answer, submittingClass?: string) => import('packages/db/dist').QuestionRecord;
        startTime: import('vue').Ref<moment.Moment>;
        hotKeys: import('vue').Ref<import('../../../../../common-ui/dist/common-ui.es.js').HotKey[]>;
        timeSpent: import('vue').ComputedRef<number>;
        logger: import('../../../../../common-ui/dist/common-ui.es.js').ViewableLogger;
        getURL: (item: string, dataShapeIndex?: number) => string;
        emitResponse: (record: import('packages/db/dist').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>[];
}
//# sourceMappingURL=index.d.ts.map