import { Component, ScopeBase } from "@ribajs/core";
import { ShopifyCartLineItem, ShopifyCartObject } from "../../interfaces/index.js";
export interface Scope extends ScopeBase {
    id: ShopifyCartLineItem["id"];
    title?: ShopifyCartLineItem["title"];
    price?: ShopifyCartLineItem["id"];
    linePrice?: ShopifyCartLineItem["line_price"];
    lineNumber?: ShopifyCartLineItem["line_number"];
    quantity: ShopifyCartLineItem["quantity"];
    sku?: ShopifyCartLineItem["sku"];
    grams?: ShopifyCartLineItem["grams"];
    vendor?: ShopifyCartLineItem["vendor"];
    properties?: ShopifyCartLineItem["properties"];
    giftCard?: ShopifyCartLineItem["gift_card"];
    url?: ShopifyCartLineItem["url"];
    image?: ShopifyCartLineItem["image"];
    handle?: ShopifyCartLineItem["handle"];
    requiresShipping?: ShopifyCartLineItem["requires_shipping"];
    productTitle?: ShopifyCartLineItem["product_title"];
    productDescription?: ShopifyCartLineItem["product_description"];
    productType?: ShopifyCartLineItem["product_type"];
    productId?: ShopifyCartLineItem["product_id"];
    variantTitle?: ShopifyCartLineItem["variant_title"];
    variantOptions?: ShopifyCartLineItem["variant_options"];
    variantId: ShopifyCartLineItem["variant_id"];
    key?: ShopifyCartLineItem["key"];
    remove: ShopifyCartItemComponent["remove"];
    increase: ShopifyCartItemComponent["increase"];
    decrease: ShopifyCartItemComponent["decrease"];
    onInputQuantityChanged: ShopifyCartItemComponent["onInputQuantityChanged"];
    pending: boolean;
}
export declare class ShopifyCartItemComponent extends Component {
    static tagName: string;
    static get observedAttributes(): string[];
    protected requiredAttributes(): string[];
    scope: Scope;
    protected getScopeDefaults(): Scope;
    constructor();
    protected connectedCallback(): void;
    remove(): void;
    increase(): void;
    decrease(): void;
    onInputQuantityChanged(): void;
    protected onCartUpdate(cart: ShopifyCartObject): void;
    protected getItemFromCart(cart: ShopifyCartObject): ShopifyCartLineItem | null;
    protected beforeBind(): Promise<void>;
    protected onCartRequestStart(): void;
    protected onCartRequestComplete(cart: ShopifyCartObject): ShopifyCartObject;
    protected afterBind(): Promise<void>;
    protected disconnectedCallback(): void;
    protected template(): Promise<string | null>;
}
