/// <reference types="react" />
import { FormInstance } from 'antd';
export interface MultiLanguageTitle {
    original?: string;
    'zh-CN'?: string;
    'zh-HK'?: string;
    'ja'?: string;
    'pt'?: string;
    en?: string;
}
export interface ValidForConfig {
    unit: string;
    unit_type: 'day' | 'month' | 'year';
    type: 'normal' | 'custom' | 'forever';
    custom_date?: string;
}
export declare type WalletPassType = 'balance' | 'point' | 'voucher' | 'discount' | 'rechargeable';
export interface ShowcaseWalletPassItem {
    type: WalletPassType;
    display: 0 | 1;
    name?: MultiLanguageTitle;
    custom_title?: MultiLanguageTitle;
}
export interface SendConfig {
    type: string;
    [key: string]: any;
}
export interface WalletMetadata {
    showcaseWalletPass?: string[];
    showcaseWalletPassNew?: ShowcaseWalletPassItem[];
    welcomeText?: string;
    customerName?: string;
    coverImage?: string;
    send_config?: SendConfig;
}
export interface WalletEditorValue {
    name?: MultiLanguageTitle;
    status: 'enable' | 'disable';
    valid_for: ValidForConfig;
    metadata: WalletMetadata;
}
export interface WalletEditorRef {
    form: FormInstance;
    setInitialValues: (values: WalletEditorValue) => void;
    getValues: () => WalletEditorValue;
}
export interface WalletEditorProps {
    value?: WalletEditorValue;
    onChange?: (value: WalletEditorValue) => void;
    onValuesChange?: (changedValue: any, values: WalletEditorValue) => void;
    disabled?: boolean;
    className?: string;
    style?: React.CSSProperties;
}
