/// <reference types="react" />
import { SupportedTimeTruncFunctions } from '@vizzly/semantic-layer-public';
import { Component } from '../../../../shared-logic/src/Component/types';
import { FieldCollectorOptions } from '../../../../shared-logic/src/DataPanelConfig/types';
import { DataSet as DataSetType } from '../../../../shared-logic/src/DataSet/types';
import * as Field from '../../../../shared-logic/src/Field';
import { QueryAttributes } from '../../../../shared-logic/src/QueryAttributes/types';
import { QueryEngineConfig } from '../../../../shared-logic/src/QueryEngineConfig/types';
import { FieldFilterOptions } from '../../../../shared-logic/src/DataSet/fieldFilterOptions';
import { InitValue } from '../../base/ListView/ListView';
import { ListViewItem } from '../../base/ListView/types';
import { VizzlyComponents } from '../../types';
declare type FieldCollectorInputFieldValue = QueryAttributes['measure'][number] | QueryAttributes['dimension'][number];
declare type SelectOptionType = {
    value: any;
    label: string;
};
declare type Props = VizzlyComponents.ManagePartialAttributes<Component.Attributes & {
    hiddenFields?: Component.HiddenField[];
}> & FieldCollectorOptions<Component.Attributes & {
    hiddenFields?: Component.HiddenField[];
}> & {
    testId?: string;
    queryEngineConfig: QueryEngineConfig;
};
export declare const FieldCollectorInput: (inputProps: Props) => JSX.Element;
export declare const getDateTimeSelectOptions: (allowedGranularities: string[], supportedTimeTruncFunctions: SupportedTimeTruncFunctions) => SelectOptionType[];
export declare function handleCreateNewField(values: (QueryAttributes.Dimension | QueryAttributes.Measure)[], purpose: string, queryEngineConfig: QueryEngineConfig, onChange: (values: FieldCollectorInputFieldValue[]) => void): (field: DataSetType.Field) => void;
export declare function buildDimensionFromField(purpose: string, field: DataSetType.Field, queryEngineConfig: QueryEngineConfig): QueryAttributes.Dimension | QueryAttributes.Measure;
export declare function buildFieldsToPickFrom(dataSet: DataSetType, fieldFilterOptions: FieldFilterOptions | undefined, preventDuplicates: boolean | undefined, values: (QueryAttributes.Measure | QueryAttributes.Dimension)[]): InitValue<DataSetType.Field>[];
export declare function buildFieldCollectorItems(values: (QueryAttributes.Measure | QueryAttributes.Dimension)[], dataSet: DataSetType, purpose: string, queryEngineConfig: QueryEngineConfig, onChange: (values: FieldCollectorInputFieldValue[]) => void, supportedAggregations?: string[]): ListViewItem<any>[];
export {};
