import { ChangeDetectorRef, EventEmitter } from '@angular/core';
import { MatTable } from '@angular/material/table';
import { SdModal } from '@sd-angular/core/components/modal';
import { SdConfirmService } from '@sd-angular/core/services/confirm';
import { SdTableColumn } from '../../models/table-column.model';
import { ConfiguredTable, ConfiguredTableResult } from '../../models/table-option-config.model';
import { SdTableOption } from '../../models/table-option.model';
import { ConfigService } from '../../services/config.service';
import * as i0 from "@angular/core";
export declare class ConfigComponent {
    #private;
    private ref;
    private confirmService;
    private configService;
    tableOption?: SdTableOption;
    modal?: SdModal;
    table: MatTable<SdTableColumn>;
    readonly changes: EventEmitter<ConfiguredTableResult>;
    configuration?: ConfiguredTable;
    dragDisabled: boolean;
    constructor(ref: ChangeDetectorRef, confirmService: SdConfirmService, configService: ConfigService);
    mouseUp(): void;
    open: () => Promise<void>;
    close: () => void;
    onSave: () => void;
    onReset: () => Promise<void>;
    dropTable(event: any): void;
    handleMouseDown(): void;
    handleMouseUp(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ConfigComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ConfigComponent, "config", never, { "tableOption": { "alias": "tableOption"; "required": false; }; }, {}, never, never, true, never>;
}
