import { ModuleDesc, ModuleName, ModuleEventMap, ModuleCmdMap, CmdFun } from '../types/protocol';
import { DocUrl } from '../types/commonData';
export declare enum EventEnum {
    Feedback = "Feedback.feedback"
}
export interface EventMap extends ModuleEventMap<EventEnum> {
    [EventEnum.Feedback]: {
        type: '';
        params: any;
    };
}
export declare enum CmdEnum {
    Feedback = "Feedback.feedback",
    DocUrl = "Feedback.docUrl",
    FeedbackTip = "Feedback.feedbackTip",
    reportIssue = "Feedback.reportIssue"
}
export type CmdFeedback = (m: ModuleName.feedback, cmd: CmdEnum.Feedback) => string;
export type CmdDocUrl = (m: ModuleName.feedback, cmd: CmdEnum.DocUrl) => DocUrl[];
export type CmdFeedbackTip = (m: ModuleName.feedback, cmd: CmdEnum.FeedbackTip) => string;
export type CmdReportIssue = (m: ModuleName.feedback, cmd: CmdEnum.reportIssue, params: {
    types: string[];
    time: string;
    desc: string;
    pics: string[];
    contact: string;
    useLog: boolean;
}) => Promise<{
    flag: boolean;
    message?: string;
}>;
export type Command = CmdFeedback & CmdDocUrl & CmdFeedbackTip & CmdReportIssue;
export interface CmdMap extends ModuleCmdMap<CmdEnum> {
    [CmdEnum.Feedback]: CmdFun<CmdFeedback>;
    [CmdEnum.DocUrl]: CmdFun<CmdDocUrl>;
    [CmdEnum.FeedbackTip]: CmdFun<CmdFeedbackTip>;
    [CmdEnum.reportIssue]: CmdFun<CmdReportIssue>;
}
type ModuleDependencies = ModuleName.ui | ModuleName.eventTracker | ModuleName.storage | ModuleName.service;
export declare const FeedbackDesc: ModuleDesc<EventMap, CmdMap, ModuleDependencies>;
export {};
