import { OnDestroy } from '@angular/core';
import { ClrCommonStringsService } from '../../utils/i18n/common-strings.service';
import { ClrPopoverPosition } from '../../utils/popover/interfaces/popover-position.interface';
import { ClrPopoverToggleService } from '../../utils/popover/providers/popover-toggle.service';
import { ClrDatagridColumnToggleButton } from './datagrid-column-toggle-button';
import { ClrDatagridColumnToggleTitle } from './datagrid-column-toggle-title';
import { ColumnState } from './interfaces/column-state.interface';
import { ColumnsService } from './providers/columns.service';
import * as i0 from "@angular/core";
export declare class ClrDatagridColumnToggle implements OnDestroy {
    commonStrings: ClrCommonStringsService;
    private columnsService;
    popoverId: string;
    private _allColumnsVisible;
    private subscription;
    smartPosition: ClrPopoverPosition;
    openState: boolean;
    customToggleTitle: ClrDatagridColumnToggleTitle;
    customToggleButton: ClrDatagridColumnToggleButton;
    private allSelectedElement;
    get allColumnsVisible(): boolean;
    set allColumnsVisible(value: boolean);
    readonly trackByFn: import("@angular/core").TrackByFunction<ColumnState>;
    constructor(commonStrings: ClrCommonStringsService, columnsService: ColumnsService, popoverToggleService: ClrPopoverToggleService);
    ngOnDestroy(): void;
    get hideableColumnStates(): ColumnState[];
    get hasOnlyOneVisibleColumn(): boolean;
    toggleColumnState(columnState: ColumnState, event: boolean): void;
    toggleSwitchPanel(): void;
    allColumnsSelected(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatagridColumnToggle, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatagridColumnToggle, "clr-dg-column-toggle", never, {}, {}, ["customToggleTitle", "customToggleButton"], ["clr-dg-column-toggle-title", "clr-dg-column-toggle-button"]>;
}
