/// <reference types="react" />
export declare enum FeedbackType {
    Advice = 0,
    Bug = 1
}
export interface ConfigProps {
    appkey: string;
    responseEmail: string;
    email: string;
    subProductId: string | number;
    level?: 1 | 2 | 3;
    channel?: string;
}
interface BaseProps {
    config: ConfigProps;
    btnText?: string;
    visible?: boolean;
    defaultValues?: DefaultValues;
    children?: React.ReactElement;
}
export interface DefaultValues {
    bugName?: string;
    bugDescription?: string;
    adviceName?: string;
    adviceDescription?: string;
}
export interface AddFeedbackProps extends BaseProps {
    type?: FeedbackType;
    typeInfo?: {
        [FeedbackType.Advice]?: TypeInfo;
        [FeedbackType.Bug]?: TypeInfo;
    };
    prefixCls?: string;
    onCancel?: () => void;
    onOk?: (type: FeedbackType) => void;
    bugFirst?: boolean;
    layout?: any;
}
export interface DisplayFeedbackProps extends BaseProps {
    onCancel?: () => void;
}
declare type LabelPlaceholder = {
    Label: string;
    Placeholder: string;
};
export interface TypeInfo {
    Tips: string;
    TypeLabel: {
        FormLabel: string;
        AdviceLabel: string;
        AdviceDesc: string;
        TicketLabel: string;
        TicketDesc: string;
    };
    Title: LabelPlaceholder;
    Description: LabelPlaceholder;
    Attachments: {
        Label: string;
    };
}
export interface FeedbackLocaleOption {
    Tips: string;
    Title: {
        Label: string;
        Placeholder: string;
    };
    Description: {
        Label: string;
        Placeholder: string;
    };
    Attachments: {
        Label: string;
    };
    TypeLabel: {
        FormLabel: string;
        AdviceLabel: string;
        AdviceDesc: string;
        TicketLabel: string;
        TicketDesc: string;
    };
}
export interface FeedbackLocale {
    btnText: string;
    Advice: FeedbackLocaleOption;
    Bug: FeedbackLocaleOption;
    uploadHint: string;
    submitSuccess: string;
    uploadError: string;
    Display: {
        btnText: string;
        advice: string;
        bug: string;
        searchPlaceholder: string;
        adviceBtnText: string;
        bugBtnText: string;
        new: string;
        processing: string;
        processed: string;
        closed: string;
        cancel: string;
        accept: string;
        reject: string;
        evaluate: string;
        tableTotal: string;
    };
}
export {};
