import { OnInit, EventEmitter, ChangeDetectorRef } from '@angular/core';
import { SdModal } from '@sd-angular/core/modal';
import { SdNotifyService } from '@sd-angular/core/notify';
import { SdTranslateService } from '@sd-angular/core/translate';
import { SdGridMaterialOption } from '../../models/grid-option.model';
import { SdGridConfigurationResult, SdGridConfiguration } from '../../models/grid-config.model';
import { SdGridConfigurationService } from '../../services/grid-configuration.service';
import { MatTable } from '@angular/material/table';
import { CdkDragDrop } from '@angular/cdk/drag-drop';
import { SdGridMaterialColumn } from '../../models/grid-column.model';
export declare class SdPopupGridConfiguration implements OnInit {
    #private;
    private ref;
    private notifyService;
    private translateService;
    private gridConfigurationService;
    gridOption: SdGridMaterialOption;
    key: string;
    modal: SdModal;
    table: MatTable<SdGridMaterialColumn>;
    readonly changes: EventEmitter<SdGridConfigurationResult>;
    configuration: SdGridConfiguration;
    isCreatingColumn: boolean;
    selected: {
        [key: string]: boolean;
    };
    disabledDrag: boolean;
    constructor(ref: ChangeDetectorRef, notifyService: SdNotifyService, translateService: SdTranslateService, gridConfigurationService: SdGridConfigurationService);
    ngOnInit(): void;
    mouseUp(event: any): void;
    open: () => Promise<void>;
    onSave: () => void;
    onReset: () => Promise<void>;
    createColumn: () => Promise<void>;
    confirm: () => Promise<void>;
    dropTable(event: CdkDragDrop<SdGridMaterialColumn[]>): void;
    handleMouseDown(): void;
    handleMouseUp(): void;
}
