import { ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { ArticleExtended } from '@colijnit/articleapi/build/model/article-extended.bo';
import { TransactionService } from '../../../../service/transaction.service';
import { CatalogEventService, CatalogService } from '@colijnit/catalog';
import { ExternalSource } from '@colijnit/articleapi/build/model/external-source.bo';
import { ExternalSourceViewmodel } from '@colijnit/catalog/lib/model/external-source-viewmodel';
import { IconCacheService } from '../../../../service/icon-cache.service';
import { Icon } from '../../../../enum/icon.enum';
import { CatalogDefinition } from '@colijnit/articleapi/build/model/catalog-definition.bo';
import { ExternalCatalogStartupInfo } from '@colijnit/articleapi/build/model/external-catalog-startup-info';
import { ArticleService } from '../../../../service/article.service';
import { TransactionInfoResponse } from '@colijnit/transactionapi/build/model/transaction-info-response.bo';
import { ArticleListObjectExtended } from '@colijnit/articleapi/build/model/article-list-object-extended.bo';
import { TransactionDialogService } from '../../../../service/transaction-dialog.service';
import { ProductConnectorAdapterService } from '@colijnit/product';
import { ArticleListObject } from '@colijnit/transactionapi/build/model/article-list-object';
import { TransactionEventService } from '../../../../service/transaction-event.service';
import { TransactionHeaderService } from '../../../core/base/service/transaction-header.service';
export declare class DialogCatalogComponent implements OnInit, OnDestroy {
    iconCacheService: IconCacheService;
    private _transactionService;
    private _catalogService;
    private _catalogEventService;
    private _articleService;
    private _dialogService;
    private _productConnectorAdapterService;
    private _transactionEventService;
    private _changeDetector;
    private _transactionHeaderService;
    readonly icons: typeof Icon;
    scrollAnchor: ElementRef;
    handleAddArticleInternally: boolean;
    options: any;
    parameters: any;
    showNavigation: boolean;
    returnArticleOnTileClick: boolean;
    transaction: TransactionInfoResponse;
    isReturn: boolean;
    showRelatedProductsPopup: boolean;
    closeClick: EventEmitter<MouseEvent>;
    articleClicked: EventEmitter<ArticleExtended>;
    iFrameFeedback: EventEmitter<{
        jsonString: string;
        catalog: number;
        sourceType: string;
    }>;
    addArticleClicked: EventEmitter<{
        article: string | ArticleExtended;
        quantity: number;
    }>;
    addCatFarmArticleClicked: EventEmitter<{
        quantity: number;
        jsonString: string;
        catalog: number;
    }>;
    addExternalArticleClicked: EventEmitter<string>;
    v: any;
    showClass(): boolean;
    catalogSettings: any;
    settingsSet: boolean;
    externalCatalogName: string;
    showExternalCatalog: boolean;
    externalSource: ExternalSource;
    catalogDefinition: CatalogDefinition;
    articleForStock: ArticleExtended;
    showStock: boolean;
    showProduct: boolean;
    showExternalProduct: boolean;
    sku: string;
    catSku: string;
    catArtName: string;
    destroyed: boolean;
    externalCatalogOptions: {
        searchOnStart: boolean;
    };
    catalogInfo: ExternalCatalogStartupInfo;
    showProductBackButton: boolean;
    private _articleBasedCatalogId;
    private _articleBasedExternalSourceType;
    private _externalArticleGoodId;
    private _subs;
    constructor(iconCacheService: IconCacheService, _transactionService: TransactionService, _catalogService: CatalogService, _catalogEventService: CatalogEventService, _articleService: ArticleService, _dialogService: TransactionDialogService, _productConnectorAdapterService: ProductConnectorAdapterService, _transactionEventService: TransactionEventService, _changeDetector: ChangeDetectorRef, _transactionHeaderService: TransactionHeaderService);
    ngOnInit(): Promise<void>;
    ngOnDestroy(): void;
    handleStockButtonClick(article: ArticleExtended): void;
    cancelStockButtonClick(): void;
    handleExternalSourceClick(source?: ExternalSourceViewmodel): Promise<void>;
    handleArticleClick(article: ArticleExtended): Promise<void>;
    private _prepareExternalConfigurator;
    private scrollToTop;
    handleAddArticleClick(json: string): void;
    handleAddArticleFromArticleClick(data: {
        article: string | ArticleExtended;
        quantity: number;
    }): void;
    handleAddExternalArticleClick(json: string): void;
    handleBackClick(event: MouseEvent): void;
    handleIFrameFeedback(json: string): void;
    handleCatFarmArticleClicked(data: {
        article: ArticleListObjectExtended;
        settings: any;
    }): void;
    handleAddCatFarmArticleClicked(data: {
        quantity: number;
        article: string;
    }): void;
    handleTransactionNavigation(transNr: string): void;
    handleOnAlternativeClick(article: ArticleListObject): Promise<void>;
    addConfiguredArticle(variantString: string): Promise<void>;
    private checkIfOpeningIsAllowed;
    private buildExternalCatalogRequest;
    private expandExternalCatalogRequestIfNeeded;
}
