import { OnInit } from '@angular/core';
import { CdkDragDrop } from '@angular/cdk/drag-drop';
import { HeSchemaService } from '../../schema/schema.service';
import * as i0 from "@angular/core";
interface IHeader {
    header: string;
    selected: boolean;
    /**
     * `false` if it is an `internal` field.
     */
    included: boolean;
}
interface IGroupedHeaders {
    [group: string]: {
        selected: boolean;
        partialSelected: boolean;
        open: boolean;
        headers: IHeader[];
    };
}
export declare class NodeCsvSelectHeadersComponent implements OnInit {
    private schemaService;
    private csv;
    private keys?;
    private includeDefaultCSV;
    private headersChanged;
    loading: boolean;
    headers: IGroupedHeaders;
    allSelected: boolean;
    showSelectTermFields: boolean;
    termFields: string[];
    termFieldSelected: any;
    showNonIncluded: boolean;
    constructor(schemaService: HeSchemaService);
    ngOnInit(): Promise<void>;
    private isSelected;
    dropHeader(event: CdkDragDrop<IHeader[]>, groupKey: string): void;
    private updateAllSelected;
    toggleAll(): void[];
    updateGroup(groupKey: string): void;
    updateGroupHeader(groupKey: string): void;
    get selectedHeaders(): string[];
    refresh(): void;
    toggleTermField(field: string): void[];
    static ɵfac: i0.ɵɵFactoryDeclaration<NodeCsvSelectHeadersComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NodeCsvSelectHeadersComponent, "he-node-csv-select-headers", never, { "csv": "csv"; "keys": "keys"; "includeDefaultCSV": "includeDefaultCSV"; }, { "headersChanged": "headersChanged"; }, never, never>;
}
export {};
