import { TemplateRef, ElementRef, PipeTransform, OnInit, ChangeDetectorRef, EventEmitter } from '@angular/core';
import { GenericTableComponent, GtConfigSetting } from '@angular-generic-table/core';
import { DragulaService } from 'ng2-dragula';
import { GtColumnSettingsTexts } from '../interfaces/gt-column-settings-texts';
export declare class GtColumnPipe implements PipeTransform {
    /** Sort by column order */
    private getColumnOrder(a, b);
    /** return enabled columns that are not locked for editing */
    private getEnabled(column);
    transform(settings: Array<GtConfigSetting>): Array<GtConfigSetting>;
}
export declare class GtColumnSettingsComponent implements OnInit {
    private dragulaService;
    private changeDetectorRef;
    genericTable: GenericTableComponent<any, any>;
    elementView: TemplateRef<ElementRef>;
    gtColumnSettingsHeader: ElementRef;
    private _genericTable;
    gtHeaderClasses: string;
    gtWrapperClasses: string;
    overlay: boolean;
    gtColumnItem: TemplateRef<ElementRef>;
    gtDefaultTexts: GtColumnSettingsTexts;
    gtTexts: GtColumnSettingsTexts;
    gtEvent: EventEmitter<any>;
    active: boolean;
    offset: string;
    heightAdjust: string;
    reordered: boolean;
    bagId: string;
    /**
     * Check offset height on window resize.
     */
    onResize(): void;
    constructor(dragulaService: DragulaService, changeDetectorRef: ChangeDetectorRef);
    ngOnInit(): void;
    /**
     *  Extend object function.
     */
    private extend;
    /**
     * Toggle column settings visibility.
     */
    toggleColumnSettings(): void;
    /**
     * Toggle column visibility.
     * @param column - column object.
     */
    toggleColumnVisibility(column: any): void;
    /**
     * Order table by object key.
     * @param args - name of key to sort on.
     */
    private _onDrop(args);
    /**
     * Get height of table head element ie. first row containing table headers.
     * @returns offset height for table header in px.
     */
    private _getTableHeadHeight();
    /**
     * Get height of table head element ie. first row containing table headers.
     * @returns offset height for table header in px.
     */
    private _getColumnSettingsHeaderHeight();
    /** generate a unique id for dragula instance i.e. a unique bag name*/
    private generateId();
}
