export declare type LoyaltyResult = {
    resultCode: LoyaltyResultCode;
    message?: string;
};
export declare type GetMemberInfoRequest = {
    type: 'currentUser' | 'phone' | 'memberQrCode';
    phone?: string;
    memberQrCode?: string;
};
export declare const GetMemberInfoRequestFactory: {
    currentUser(): GetMemberInfoRequest;
    phone(phone: string): GetMemberInfoRequest;
    memberQrCode(memberQrCode: string): GetMemberInfoRequest;
};
export declare type GetMemberInfoResult = LoyaltyResult & {
    data?: MemberInfo;
};
export declare type MemberInfo = {
    memberQrCode?: string;
    memberId: string;
    phone: string;
    memberCardId?: string;
    name: string;
    isActive: boolean;
    point: number;
    tierPoint?: number;
    keepTierUntil?: number;
    accumulationFrom?: number;
    accumulationTo?: number;
    currentTierCode?: boolean;
    currentTierName?: boolean;
    currentTierMinPoint?: number;
    nextTierName?: string;
    nextTierMinPoint?: number;
};
export declare type AssignMemberCardResult = LoyaltyResult & {
    data?: {
        memberCardId: string;
    };
};
export declare type GetNetworkConfigResult = LoyaltyResult & {
    data?: {
        networkId: string;
        networkName: string;
        exchangeRate: number;
        currencyImg: string;
        currencyName: string;
        cardDefaultImg?: string;
        avatarDefaultImg?: string;
        allowToGetMemberByPhone?: boolean;
        faqWebUrl?: string;
        benefitWebUrl?: string;
        brandColor?: string;
        allowMerchantIssueMemberCard?: boolean;
        networkTiers?: [Tier];
    };
};
export declare type Tier = {
    code: string;
    name: string;
    fromPoint: number;
    cardTieredImg?: string;
    tierIconImg?: string;
};
export declare type GetLoyaltyConfigResult = LoyaltyResult & {
    data?: {
        url: string;
        bffUrl: string;
        merchantCode: string;
        clientId: string;
        iamAudience: string;
        loggingEnabled: boolean;
        linkMembershipUrl: string;
        registerMemberUrl: string;
        allowLinkMembership: boolean;
    };
};
export declare enum LoyaltyResultCode {
    Success = "Success",
    Cancelled = "Cancelled",
    CannotCallLoyaltyService = "CannotCallLoyaltyService",
    DataInactive = "DataInactive",
    DuplicateMemberCardId = "DuplicateMemberCardId",
    DuplicatePhone = "DuplicatePhone",
    InvalidParam = "InvalidParam",
    InvalidParamFormat = "InvalidParamFormat",
    MemberInactive = "MemberInactive",
    MemberQrInactive = "MemberQrInactive",
    MissingParam = "MissingParam",
    ParamOutOfRange = "ParamOutOfRange",
    PermissionDenied = "PermissionDenied",
    RedemptionCodeExpired = "RedemptionCodeExpired",
    SubjectNotFound = "SubjectNotFound",
    SystemError = "SystemError",
    Unauthorized = "Unauthorized",
    Unexpected = "Unexpected",
    MemberNotMatchMerchant = "MemberNotMatchMerchant"
}
