import { EventEmitter, OnInit, AfterViewInit } from '@angular/core';
import { FormBuilder, FormGroup } from '@angular/forms';
import { FormConfigPopup } from '../../popup.types';
import { StorageService } from '../../../storage-service';
import * as i0 from "@angular/core";
export declare class TableConfigComponent implements OnInit, AfterViewInit {
    private formBuilder;
    private storageService;
    analyticTableConfig: any;
    visibleColumns: Array<FormConfigPopup>;
    extraAdminColumns: Array<string>;
    enabledPermissions: Array<string>;
    isDisabled: boolean;
    formUpdated: EventEmitter<any>;
    protected tableConfigFromStorage: {};
    private subscriptions;
    abstractData: FormGroup;
    private controlsTableColumnsWithoutAdminConfig;
    private columnTypes;
    private actionsColumnsType;
    private initedState;
    private generalColumns;
    constructor(formBuilder: FormBuilder, storageService: StorageService);
    get convertions(): any;
    get actions(): any;
    get purchase(): any;
    get generalIndeterminate(): boolean;
    filterGeneralColumns(obj: any): {};
    get actionsColumnsIndeterminate(): boolean;
    get actionsIndeterminate(): boolean;
    get convertionsIndeterminate(): boolean;
    get purchaseIndeterminate(): boolean;
    get videoIndeterminate(): boolean;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    private createForm;
    generateActionsColumns(type: any): any;
    generateTitlesInputs(): any;
    generateColumnCheckboxesByType(type: any): any;
    generateColumnCheckboxes(): any;
    resetAllForColumnsCheckboxes(type: any): void;
    checkForAllInGroup(type: any): void;
    selectAllColumns(type: any): void;
    clearAllColumns(type: any): void;
    isAdminColumn(name: string): boolean;
    checkForAvailabilityCheckboxColumns(): void;
    isIndeterminate(columns: any): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<TableConfigComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TableConfigComponent, "epom-popup-table-config", never, { "analyticTableConfig": "analyticTableConfig"; "visibleColumns": "visibleColumns"; "extraAdminColumns": "extraAdminColumns"; "enabledPermissions": "enabledPermissions"; "isDisabled": "isDisabled"; }, { "formUpdated": "formUpdated"; }, never, never, false>;
}
