/// <reference types="ids-enterprise-typings" />
import { OnInit, EventEmitter } from '@angular/core';
import { IBookmark, ISearchRequest } from '@infor-up/m3-odin';
import { FormService } from '@infor-up/m3-odin-angular';
import { SohoDataGridComponent, SohoMessageService } from 'ids-enterprise-ng';
import { Observable } from 'rxjs';
import { HttpClient } from '@angular/common/http';
import * as i0 from "@angular/core";
export declare class MMM3ListComponent implements OnInit {
    private readonly formService;
    private messageService;
    private http;
    /**
     * Busy indicator
     */
    isBusy: boolean;
    /**
     * Instance id. Will be used to close the running instance of a bookmark list in the server
     */
    private instanceId;
    /**
     * Bookmark definition to open
     */
    bookmark: IBookmark;
    /**
     * Search definition to open
     */
    searchRequest: ISearchRequest;
    /**
     * Custom gridOptions. Column definitions will not be overrwitten
     */
    gridOptions: SohoDataGridOptions;
    /**
     * Additional columns
     */
    additionalColumns: SohoDataGridColumn[];
    /**
     * Columns to be ignored
     */
    ignoredColumns: string[];
    /**
     * Key-value pair to overwrite the column heading. Key would be the column name and value will be the overriding column label
     */
    columnHeadings: {};
    /**
     * Flag if to add the default filterable column from bookmark
     */
    useDefaultFilter: boolean;
    /**
     * List of columns that will have a filter
     */
    filterables: string[];
    /**
     * List of columns that are editable
     */
    editables: string[];
    /**
     * Number of page down request for a bookmark. Default would load upto 99 rows
     */
    requestCount: number;
    /**
     * If selection checkbox will be added as a column
     */
    enableCheckbox: boolean;
    /**
     * Emits when first set of data has been loaded
     */
    firstDataRetrieved: EventEmitter<any>;
    /**
     * Emits when data has been loaded
     */
    dataRetrieved: EventEmitter<any>;
    /**
     * Data grid instance
     */
    dataGrid: SohoDataGridComponent;
    /**
     * Subject and observable for shown records
     */
    private dataSubject$;
    data: Observable<any[]>;
    /**
     * Will contain the complete data after all records has been loaded.
     * Used for when the gridOption groupable is enabled
     */
    private allItems;
    /**
     * Default gridOptions
     */
    defaultOptions: SohoDataGridOptions;
    constructor(formService: FormService, messageService: SohoMessageService, http: HttpClient);
    ngOnInit(): void;
    private onResponse;
    private createColumns;
    /**
     * Recursive funciton to load all rows
     */
    private loadAllRows;
    openBookmark(): void;
    executeSearch(): void;
    selectedRows(): any[];
    getItems(): any[];
    updateItems(items: any): void;
    private dataLoaded;
    private closeInstance;
    private onError;
    static ɵfac: i0.ɵɵFactoryDeclaration<MMM3ListComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<MMM3ListComponent, "mm-m3-list", never, { "bookmark": "bookmark"; "searchRequest": "searchRequest"; "gridOptions": "gridOptions"; "additionalColumns": "additionalColumns"; "ignoredColumns": "ignoredColumns"; "columnHeadings": "columnHeadings"; "useDefaultFilter": "useDefaultFilter"; "filterables": "filterables"; "editables": "editables"; "requestCount": "requestCount"; "enableCheckbox": "enableCheckbox"; }, { "firstDataRetrieved": "firstDataRetrieved"; "dataRetrieved": "dataRetrieved"; }, never, never, false>;
}
//# sourceMappingURL=mm-m3-list.component.d.ts.map