import type { City, DeliveryPromiseLabels, SelectedOption } from './interfaces';
/**
 * @name SallaDeliveryPromise
 * @description Displays delivery promise message (from BE) with city selection
 * @tag salla-delivery-promise
 */
export declare class SallaDeliveryPromise {
    host: HTMLElement;
    isDeliveryPromiseEnabled: boolean;
    isLoginCycleEnabled: boolean;
    canRender: boolean;
    private productId;
    labels: DeliveryPromiseLabels;
    selectedLabel: string | null;
    deliveryMessage: string | null;
    hasError: boolean;
    errorMessage: string;
    isLoadingPromises: boolean;
    selectedCityLoginCycle: SelectedOption | null;
    selectedBranchLoginCycle: SelectedOption | null;
    cities: City[];
    selectedCity: City | null;
    isLoadingCities: boolean;
    cityPendingSelection: City | null;
    modalCities: City[];
    isSearchingCities: boolean;
    private cityModalRef;
    private citySearchTimer;
    private citySearchCounter;
    componentDidLoad(): Promise<void>;
    disconnectedCallback(): void;
    private onBulletDeliveryConfirmed;
    private getIPDeliveryLocation;
    private initLoginCycleFlow;
    private applyBulletIntent;
    private openBulletDeliveryModal;
    private loadCities;
    private loadDeliveryMessage;
    private openCityChangeModal;
    private handleCitySearch;
    private searchCitiesRemote;
    private handleConfirmCityModal;
    private handleHeaderClick;
    private renderLoadingSkeleton;
    private renderDeliveryMessage;
    private renderCityModalBody;
    private renderCityChangeModal;
    render(): any;
}
