import { Item, LoyaltyProgram } from './loyalty-schema';
/**
 * @slot widget - When used, will activate the component and needs to emit `loyalty::open` event to open the modal. If not provided the default value will be used.
 * @slot points-applied-widget -  Widget to show information about the already exchanged points. It should have it's own resetting action and call the `resetExchange` method. If not provided, it will use the default value.
 */
export declare class SallaLoyalty {
    constructor();
    private modal;
    private confirmationModal;
    loyaltyProgram: LoyaltyProgram;
    activeTabType: string;
    tabsKey: number;
    buttonLoading: boolean;
    selectedItem: Item | undefined;
    askConfirmation: boolean;
    is_loggedin: boolean;
    hasError: boolean;
    errorMessage: string;
    translationLoaded: boolean;
    /**
     * The exchanged prize point
     */
    prizePoints: string | number;
    /**
     * Available customer points with which they can exchange.
     */
    customerPoints: number;
    /**
     * The prize title
     */
    prizeTitle: string;
    /**
     * Does the merchant allow to login using email
     */
    allowEmail: boolean;
    /**
     * Does the merchant/current location for visitor allow to login using mobile, By default outside KSA is `false`
     */
    allowMobile: boolean;
    /**
     * Does the merchant require registration with email & mobile
     */
    requireEmail: boolean;
    /**
     * Message to show for guest users.
     */
    guestMessage: string;
    onTabSelected(event: CustomEvent): void;
    private setSelectedPrizeItem;
    private handleLongText;
    private prizeItem;
    private getConfirmationModal;
    private getAfterExchangeUI;
    /**
     * Show loyalty modal
     */
    open(): Promise<any>;
    /**
     *
     * Hide loyalty modal
     */
    close(): Promise<HTMLElement>;
    /**
     *
     * Cancel Exchanged prizes
     */
    resetExchange(): Promise<any>;
    private getApiErrorMessage;
    /**
     * Open Confirmation modal
     */
    private openConfirmation;
    /**
     * Cancel process
     */
    private cancelProcess;
    /**
     * Exchange loyalty points with the selected prize item
     * @param {number} loyalty_prize_id
     *
     */
    exchangeLoyaltyPoint(): Promise<void>;
    render(): any;
}
