import { EventEmitter } from '../../stencil-public-runtime';
import { ObservableMap } from '@stencil/store';
import { LANGUAGE_TYPES } from "../../components";
import { CallbackFunction, DynamicMethod } from "../../managers/AutoCallback/AutoCallbackManager";
import { MediaType } from "../../managers/mediaType/constants";
import { STICKY_FOOTER_POSITION, VAT_TYPE } from "../../utils/enums";
import { StickyFooterEnhancedStoreState } from './sl-sticky-footer-enhanced-store';
export declare class SlStickyFooterEnhanced {
    /**
     * Index signature for dynamic callback methods injected by AllManagers.
     * Allows AutoCallbackManager to add callback handler methods at runtime.
     */
    [key: DynamicMethod]: CallbackFunction;
    private setInvokeBackCallback;
    private setInvokeNextCallback;
    private setInvokeSaveForLaterCallback;
    private setInvokeIsExpandedChangedCallback;
    private handleBackAction;
    private handleNextAction;
    private handleSaveForLaterAction;
    private callIsExpandedChangedAction;
    private unregisterOnChange;
    el: HTMLSlStickyFooterEnhancedElement;
    /** Define if expanded container is open or not */
    isExpanded: boolean;
    /** Position type: sticky or fixed */
    positionType: STICKY_FOOTER_POSITION | `${STICKY_FOOTER_POSITION}`;
    /** Amount to be displayed on the left side */
    amountLeft?: string | number;
    /** Amount to be displayed on the right side */
    amountRight?: string | number;
    /** Hide currency symbol for numeric amounts */
    hideCurrency: boolean;
    /** Hide the save for later link in login component */
    hideSaveForLater?: boolean;
    /** VAT display type for both amount sections: include, exclude, or hidden */
    vatType: VAT_TYPE | `${VAT_TYPE}`;
    /** Hide the expand icon when true */
    hideExpandIcon: boolean;
    /** Hide the back button when true */
    hideBackButton: boolean;
    /** Hide the next button when true */
    hideNextButton: boolean;
    /** Disable the back button when true */
    disableBackButton: boolean;
    /** Disable the next button when true */
    disableNextButton: boolean;
    /** Icon name for the next button */
    iconNameNextButton?: string;
    /** Shows loading spinner on the next button */
    loadingNextButton: boolean;
    /** Custom text for the next button */
    nextButtonText?: string;
    /**
     * Callback that will fire when back button is clicked.
     */
    backCallback?: (() => void) | string;
    /**
     * Callback that will fire when next button is clicked.
     */
    nextCallback?: (() => void) | string;
    /**
     * Callback that will fire when save for later link is clicked.
     */
    saveForLaterCallback?: (() => void) | string;
    /**
     * Callback that will fire when isExpanded state changes.
     */
    isExpandedChangedCallback?: ((isExpanded: boolean) => void) | string;
    store: ObservableMap<StickyFooterEnhancedStoreState>;
    isMobile: boolean;
    isTablet: boolean;
    isDesktop: boolean;
    mapSizeToMediaTypes: MediaType;
    language: LANGUAGE_TYPES;
    /**
     * Event that will fire when back button is clicked.
     */
    backEvent: EventEmitter<any>;
    /**
     * Event that will fire when next button is clicked.
     */
    nextEvent: EventEmitter<any>;
    /**
     * Event that will fire when save for later link is clicked.
     */
    saveForLaterEvent: EventEmitter<any>;
    /**
     * Event that will fire when isExpanded state changes.
     */
    isExpandedChangedEvent: EventEmitter<boolean>;
    isExpandedChanged(newValue: boolean): void;
    amountLeftChanged(newValue: string | number): void;
    amountRightChanged(newValue: string | number): void;
    hideSaveForLaterChanged(newValue: boolean): void;
    hideCurrencyChanged(newValue: boolean): void;
    vatTypeChanged(newValue: VAT_TYPE): void;
    backCallbackChanged(): void;
    nextCallbackChanged(): void;
    saveForLaterCallbackChanged(): void;
    isExpandedChangedCallbackChanged(): void;
    handleLoginSaveForLaterEvent(): void;
    constructor();
    componentWillLoad(): void;
    disconnectedCallback(): void;
    private updateIsExpanded;
    private expandStickyCart;
    private renderAmountSection;
    private renderExpandIcon;
    private renderSaveForLaterLink;
    private renderButton;
    render(): any;
}
