import { ChangeDetectorRef, EventEmitter, OnInit } from '@angular/core';
import { ArticleExtended } from '@colijnit/articleapi/build/model/article-extended.bo';
import { Icon } from '../../enum/icon.enum';
import { IconCacheService } from '../../service/icon-cache.service';
import { TransactionService } from '../../service/transaction.service';
import { SafeHtml } from '@angular/platform-browser';
import { InputScannerComponent } from '@colijnit/corecomponents_v12';
import { TransactionEventService } from "../../service/transaction-event.service";
export interface AddArticleInterface {
    article: ArticleExtended;
    quantity: number;
    aboveLineNr: number;
    belowLineNr: number;
    lastArticle: boolean;
}
export declare class AddProductComponent implements OnInit {
    iconService: IconCacheService;
    transactionService: TransactionService;
    transactionEventService: TransactionEventService;
    private _changeDetector;
    readonly icons: typeof Icon;
    handleAddArticleInternally: boolean;
    addArticle: EventEmitter<AddArticleInterface>;
    inputSearchText: InputScannerComponent;
    showClass(): boolean;
    return: boolean;
    catalogOptions: any;
    catalogParameters: any;
    searchText: string;
    showRelatedProductsPopup: boolean;
    cartPlusIcon: SafeHtml;
    cartMinIcon: SafeHtml;
    pendingAddArticleAction: boolean;
    set showCatalog(value: boolean);
    get showCatalog(): boolean;
    private _showCatalog;
    private _subs;
    constructor(iconService: IconCacheService, transactionService: TransactionService, transactionEventService: TransactionEventService, _changeDetector: ChangeDetectorRef);
    ngOnInit(): void;
    ngOnDestroy(): void;
    /**
     *  First check if there's a single article found
     *  This is a two check step:
     *  Check if there is an exact match on barcode, ean or articlenumber
     *  If not: check with search like
     *  Else open catalogus
     * @param text
     */
    handleSearch(text: string): Promise<void>;
    handleAddArticle(article: ArticleExtended): Promise<void>;
    handleAddArticleClick(data: {
        article: string | ArticleExtended;
        quantity: number;
    }): Promise<void>;
    private _tryAddArticle;
    private _handleArticleTypeOnAdd;
    getActualQuantity(quantityInput: any): number;
    handleCatalogArticleClick(article: ArticleExtended): Promise<void>;
    showCatalogDialog(): void;
    handleCloseCatalogueClick(): void;
    handleCartIconClick(event: MouseEvent): void;
    handleSearchIconClick(): void;
    handleIFrameFeedback(iFrameFeedbackObject: {
        jsonString: string;
        catalog: number;
        sourceType: string;
    }): Promise<void>;
    handleAddCatFarmArticleClick(data: {
        quantity: number;
        jsonString: string;
        catalog: number;
    }): Promise<void>;
    private _prepareCatalogRequest;
}
