/*!
 * Copyright 2019 VMware, Inc.
 * SPDX-License-Identifier: BSD-2-Clause
 */
import { OnDestroy, OnInit } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { ClrDatagridFilter } from '@clr/angular';
import { NumberWithUnitFormInputComponent } from '../../form';
import { Unit } from '../../utils/unit/unit';
import { DatagridFilter, FilterConfig, FilterRendererSpec } from './datagrid-filter';
/**
 * The type of value that goes in the {@link DatagridNumericFilterConfig}.
 */
export declare type DatagridNumericFilterValue = [number, number];
/**
 * Numeric filter UI widget has only single configuration. So there are no properties in addition to FilterConfig
 */
export interface DatagridNumericFilterConfig extends FilterConfig<DatagridNumericFilterValue> {
    unit?: Unit;
    unitOptions?: Unit[];
}
export declare class DatagridNumericFilterComponent extends DatagridFilter<DatagridNumericFilterValue, DatagridNumericFilterConfig> implements OnInit, OnDestroy {
    private filterContainer;
    maxNumberLength: number;
    fromInput: NumberWithUnitFormInputComponent;
    toInput: NumberWithUnitFormInputComponent;
    /**
     * Options for the select input of units
     */
    private _unitOptions;
    set unitOptions(val: Unit[]);
    get unitOptions(): Unit[];
    /**
     * Base unit to which selected units are converted
     */
    private _unit;
    set unit(val: Unit);
    get unit(): Unit;
    createFormGroup(): FormGroup;
    constructor(filterContainer: ClrDatagridFilter);
    protected onBeforeSetConfig(config: DatagridNumericFilterConfig): void;
    setValue(values: DatagridNumericFilterValue): void;
    getValue(): string;
    isActive(): boolean;
    close(): void;
    ngOnDestroy(): void;
}
/**
 * Creates a {@link FilterRendererSpec} with the given config.
 * @param value the default value that should go in this numeric filter.
 * @param unit initial value for unit input to be selected
 * @param unitOptions Select dropdown options for unit input
 */
export declare function DatagridNumericFilter(value?: DatagridNumericFilterValue, unitOptions?: Unit[], unit?: Unit): FilterRendererSpec<DatagridNumericFilterConfig>;
