import { Product } from '@salla.sa/twilight/types/common';
import { EditOrderResponse, OrderEditData, OrderEditProductOption, OrderEditSelectedOptions } from './interfaces';
import { OrderEditPayloadState } from './helpers';
/**
 * @salla/ui-components
 * The `salla-order-edit` component
 * as an editable card with quantity controls, editable options, and an order summary.
 */
export declare class SallaOrderEdit {
    /** The order ID to edit */
    orderId: string | number;
    /** Pre-loaded order data (JSON string). */
    orderData: string;
    order: OrderEditData;
    loading: boolean;
    error: string;
    saveLoading: boolean;
    payload: OrderEditPayloadState;
    expired: boolean;
    editPreview: EditOrderResponse | null;
    productSearchQuery: string;
    productsListKey: number;
    productsListSource: 'latest' | 'search';
    productsListSourceValue: string;
    selectedProductToAdd: Product | null;
    addProductQuantity: number;
    addProductLoading: boolean;
    addProductConfirmLoading: boolean;
    mobileProductsModalMounted: boolean;
    isMobileViewport: boolean;
    private mobileProductsModal;
    private mobileProductsListLoading;
    private addProductDrawer;
    private addProductOptions;
    private saveModal;
    private expiryInterval;
    private productsPanelViewportQuery?;
    private unregisterBeforeBuildListUrlHook?;
    private confirming;
    private readonly handleMobileProductSelected;
    private readonly productsPanelMobileQuery;
    private readonly handleProductsPanelViewportChange;
    private readonly hasProductTypeFilter;
    private readonly normalizeProductsListArrayParams;
    private readonly handleBeforeBuildListUrl;
    private readonly defaultProductsListSource;
    private readonly debouncedProductSearch;
    componentWillLoad(): Promise<void>;
    disconnectedCallback(): void;
    private setupProductsPanelViewportQuery;
    private startExpiryCheck;
    private loadFromProp;
    private applyProductSearch;
    private handleProductSearch;
    private getProductsListKey;
    private handleMobileProductsScroll;
    private waitForNextFrame;
    private openMobileProductsModal;
    private setMobileProductsModal;
    private resetAddProductDrawer;
    private getAddProductMaxQuantity;
    private clampAddProductQuantity;
    private getApiErrorMessage;
    private notifyApiError;
    private validateAddProductOptions;
    private updateLocalOrderItem;
    private removeLocalOrderItem;
    private setPayloadItems;
    private handleAddProductQuantityChange;
    handleProductSelected(event: CustomEvent<{
        product: Product;
    }>): Promise<void>;
    private confirmAddProduct;
    handleItemUpdated(event: CustomEvent<{
        itemId: string | number;
        quantity: number;
        options?: OrderEditSelectedOptions;
        optionDefinitions?: OrderEditProductOption[];
    }>): void;
    handleItemRemoved(event: CustomEvent<{
        itemId: string | number;
    }>): void;
    private get hasChanges();
    private saveOrder;
    private navigateToOrder;
    private handleConfirm;
    private cancelEditSession;
    private renderProductsPanel;
    private renderProductsPickerContent;
    private renderMobileProductsModal;
    private renderAddProductDrawer;
    private renderSaveModal;
    render(): any;
}
