import type { CalculatedColumnExpressionPicker } from 'ag-grid-community';
import { Component } from 'ag-grid-community';
import type { CalculatedColumnDataTypeOption, CalculatedColumnDraft, ColumnSuggestion } from './calculatedColumnFormTypes';
export declare const DEFAULT_DRAFT: Omit<CalculatedColumnDraft, 'colId' | 'headerName'>;
export declare const DEFAULT_CALCULATED_COLUMN_DATA_TYPES: readonly ["text", "number", "date", "boolean"];
export declare const DEFAULT_CALCULATED_COLUMN_EXPRESSION_PICKERS: readonly ["columns", "functions", "operators"];
export declare class CalculatedColumnForm extends Component {
    private draft;
    private readonly dataTypeOptions;
    private readonly getColumnSuggestions;
    private readonly getFunctionSuggestions;
    private readonly onValidate;
    private readonly onApply;
    private readonly onCancel;
    private readonly liveApply;
    private readonly onDraftChange?;
    private readonly eTitle;
    private readonly eType;
    private readonly eExpression;
    private readonly eColumns;
    private readonly eFunctions;
    private readonly eOperators;
    private readonly eApply;
    private readonly eCancel;
    private readonly eActions;
    private readonly eExpressionTools;
    private activeReplacement;
    private suggestionSource;
    private hideSuggestionPopup;
    private titleTooltipFeature?;
    private expressionTooltipFeature?;
    private titleValidationMessage;
    private expressionValidationMessage;
    private readonly expressionPickers;
    /** The open suggestion list, recreated whenever the picker type (column/function/operator) changes. */
    private autocompleteList;
    private suggestionType;
    private suggestionSourceType;
    private openSuggestions;
    private expressionSelection;
    constructor(draft: CalculatedColumnDraft, dataTypeOptions: CalculatedColumnDataTypeOption[], expressionPickers: readonly CalculatedColumnExpressionPicker[], getColumnSuggestions: () => ColumnSuggestion[], getFunctionSuggestions: () => ColumnSuggestion[], onValidate: (draft: CalculatedColumnDraft) => string | null, onApply: (draft: CalculatedColumnDraft) => string | null, onCancel: () => void, liveApply: boolean, onDraftChange?: ((draft: CalculatedColumnDraft) => void) | undefined);
    postConstruct(): void;
    hideSuggestions(): void;
    private setupFormFields;
    private setupAria;
    private setupActionButtons;
    private addFormFieldListeners;
    private setupExpressionEditor;
    private addActionListeners;
    private addFormListeners;
    private validateTitle;
    private setTitleError;
    private setExpressionError;
    private applyFieldError;
    private setupValidationTooltips;
    private createValidationTooltip;
    private updateDraft;
    private rememberExpressionSelection;
    private refreshContextSuggestions;
    private openPicker;
    private getSuggestionsForType;
    private showSuggestions;
    private refreshAriaForSuggestions;
    private clearAriaForSuggestions;
    private openSuggestionPopup;
    private createAutocompleteEntries;
    private createColumnSuggestionRow;
    private positionSuggestionPopup;
    private confirmSelectedSuggestion;
    private closeSuggestionPopup;
    private onExpressionKeyDown;
    private onSuggestionKeyDown;
    private onExpressionKeyUp;
    private acceptSuggestion;
    private getSuggestionInsertText;
    private getFunctionToken;
    private getPreviousNonSpaceChar;
}
