import { OnDestroy } from '@angular/core';
import { MatDialog } from '@angular/material/dialog';
import { TccSearchListDialog } from '../../components/tcc-search-list-dialog/tcc-search-list-dialog.component';
import { Observable } from 'rxjs';
import { TccODataService } from '../../../odata/services/tcc-odata/tcc-odata.service';
import { TccODataQuery } from '../../../odata/services/tcc-odata-query/tcc-odata-query';
import { TccInputMask } from '../../models/inputMask.model';
import { TccC4Node, TccKeyValuePair } from '../../../odata/models/shared.model';
import { TccCatchErrorService } from '../tcc-catch-error/tcc-catch-error.service';
import { TccSingleton } from '../../../core/models/tcc-singleton.model';
export declare namespace TccSearchListDialogServiceNamespace {
    interface chipData<T> {
        Id: string;
        Name: string;
        ActiveItems: Array<item>;
        PermanentItems?: Array<item>;
        Service: TccODataService<T>;
        prefix?: string;
        matPrefix?: string;
    }
    interface _chipData<T> extends chipData<T> {
        Query?: TccODataQuery<T>;
        AllItems?: any[];
    }
    interface _chip {
        Id: string;
        Name: string;
        ActiveItems: Array<string | TccKeyValuePair>;
        PermanentItems: Array<string | TccKeyValuePair>;
    }
    interface item {
        id: string;
        name: string;
        value: boolean | {
            [key: string]: any;
        };
    }
}
export declare class TccSearchListDialogService implements TccSingleton, OnDestroy {
    private matDialog;
    private tccCatchError;
    private dialogRef;
    private nextPageSubscription;
    private previousPageSubscription;
    private searchSubscription;
    private changeChipSubscription;
    private afterCloseSubscription;
    private afterOpenedSubscription;
    private dataArray;
    private allItemsObj;
    private searchedItemsObj;
    private currChipId;
    private pageSize;
    constructor(matDialog: MatDialog, tccCatchError: TccCatchErrorService);
    init(): void;
    reset(): void;
    ngOnDestroy(): void;
    openDialog<T>(dataArray: TccSearchListDialogServiceNamespace.chipData<T>[], options?: TccSearchListDialog.Options): Observable<TccInputMask.valueChanges>;
    getDataElement(id: string): TccC4Node;
    private getChips;
    private onChangeChip;
    private onSearchListDialogSearch;
    private getChipById;
    private addDataSet;
    private addSearchDataSet;
    private getFirstPage;
    private getNextPage;
    private checkedResults;
}
