import { OnDestroy, OnInit } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { ActiveCartService, MultiCartService, OrderEntry, PromotionLocation, SelectiveCartService, UserIdService } from '@spartacus/core';
import { Observable, Subscription } from 'rxjs';
import { CartItemComponentOptions } from '../cart-item/cart-item.component';
import * as i0 from "@angular/core";
export declare class CartItemListComponent implements OnInit, OnDestroy {
    protected activeCartService: ActiveCartService;
    protected selectiveCartService: SelectiveCartService;
    protected userIdService: UserIdService;
    protected multiCartService: MultiCartService;
    protected subscription: Subscription;
    protected userId: string;
    readonly: boolean;
    hasHeader: boolean;
    options: CartItemComponentOptions;
    cartId: string;
    protected _items: OrderEntry[];
    form: FormGroup;
    set items(items: OrderEntry[]);
    get items(): OrderEntry[];
    promotionLocation: PromotionLocation;
    set setLoading(value: boolean);
    constructor(activeCartService: ActiveCartService, selectiveCartService: SelectiveCartService, userIdService: UserIdService, multiCartService: MultiCartService);
    ngOnInit(): void;
    /**
     * Resolves items passed to component input and updates 'items' field
     */
    protected resolveItems(items: OrderEntry[]): void;
    /**
     * Creates form models for list items
     */
    protected createForm(): void;
    protected getControlName(item: OrderEntry): string;
    removeEntry(item: OrderEntry): void;
    getControl(item: OrderEntry): Observable<FormGroup>;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<CartItemListComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CartItemListComponent, "cx-cart-item-list", never, { "readonly": "readonly"; "hasHeader": "hasHeader"; "options": "options"; "cartId": "cartId"; "items": "items"; "promotionLocation": "promotionLocation"; "setLoading": "cartIsLoading"; }, {}, never, never>;
}
