import { ComponentOptionsMixin } from 'vue';
import { DefineComponent } from 'vue';
import { ExtractPropTypes } from 'vue';
import { Questionnaire } from '@polyv/questionnaire-sdk';
import { QuestionnaireData } from '@polyv/questionnaire-sdk';
import { SubmitAnswerData } from '@polyv/questionnaire-sdk';
import { ValidatorFunction } from 'vue-types/dist/types';
import { VueTypeValidableDef } from 'vue-types';

export declare const NormalQuestionnaire: DefineComponent<    {
/** 问卷数据 */
questionnaireData: VueTypeValidableDef<QuestionnaireData, ValidatorFunction<QuestionnaireData>>;
questionnaireTarget: VueTypeValidableDef<Questionnaire, ValidatorFunction<Questionnaire>> & {
required: true;
};
}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
submit: (arg: SubmitAnswerData[]) => void;
}, string, Readonly<ExtractPropTypes<    {
/** 问卷数据 */
questionnaireData: VueTypeValidableDef<QuestionnaireData, ValidatorFunction<QuestionnaireData>>;
questionnaireTarget: VueTypeValidableDef<Questionnaire, ValidatorFunction<Questionnaire>> & {
required: true;
};
}>>, {}>;

export declare const QuestionnaireDialog: DefineComponent<    {
questionnaireTarget: VueTypeValidableDef<Questionnaire, ValidatorFunction<Questionnaire>> & {
required: true;
};
}, {
openQuestionnaire: (questionnaireId?: string) => void;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, Readonly<ExtractPropTypes<    {
questionnaireTarget: VueTypeValidableDef<Questionnaire, ValidatorFunction<Questionnaire>> & {
required: true;
};
}>>, {}>;

export declare interface QuestionnaireDialogInstance {
    /** 打开问卷 */
    openQuestionnaire: (questionnaireId?: string) => void;
}

export declare const QuestionnaireFilling: DefineComponent<    {
questionnaireTarget: VueTypeValidableDef<Questionnaire, ValidatorFunction<Questionnaire>> & {
required: true;
};
}, {
setupQuestionnaire: (questionnaireData: QuestionnaireData) => void;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, Readonly<ExtractPropTypes<    {
questionnaireTarget: VueTypeValidableDef<Questionnaire, ValidatorFunction<Questionnaire>> & {
required: true;
};
}>>, {}>;

export declare interface QuestionnaireFillingInstance {
    /** 设置问卷 */
    setupQuestionnaire: (questionnaireData: QuestionnaireData) => void;
}

export declare const QuestionnaireList: DefineComponent<    {
questionnaireTarget: VueTypeValidableDef<Questionnaire, ValidatorFunction<Questionnaire>> & {
required: true;
};
}, {
open: () => void;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, Readonly<ExtractPropTypes<    {
questionnaireTarget: VueTypeValidableDef<Questionnaire, ValidatorFunction<Questionnaire>> & {
required: true;
};
}>>, {}>;

export declare interface QuestionnaireListInstance {
    /** 打开 */
    open: () => void;
}

export declare const QuestionnaireRank: DefineComponent<    {
questionnaireTarget: VueTypeValidableDef<Questionnaire, ValidatorFunction<Questionnaire>> & {
required: true;
};
}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, Readonly<ExtractPropTypes<    {
questionnaireTarget: VueTypeValidableDef<Questionnaire, ValidatorFunction<Questionnaire>> & {
required: true;
};
}>>, {}>;

export declare const QuestionnaireStatistics: DefineComponent<    {
questionnaireTarget: VueTypeValidableDef<Questionnaire, ValidatorFunction<Questionnaire>> & {
required: true;
};
}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, Readonly<ExtractPropTypes<    {
questionnaireTarget: VueTypeValidableDef<Questionnaire, ValidatorFunction<Questionnaire>> & {
required: true;
};
}>>, {}>;

export { }
