import { AbstractLayout, Event, InitModelOf, LookupRow, Popup, ProposalChooser, ProposalChooserActiveFilterSelectedEvent, ProposalChooserLookupRowSelectedEvent, ScoutKeyboardEvent, SmartField, SmartFieldLookupResult, SmartFieldPopupEventMap, SmartFieldPopupModel, SomeRequired, StatusOrModel } from '../../../index';
/**
* IMPORTANT: this popup logic is partially also implemented in SmartFieldTouchPopup. If you make changes here, also check the touch popup.
*/
export declare class SmartFieldPopup extends Popup implements SmartFieldPopupModel {
model: SmartFieldPopupModel;
initModel: SomeRequired;
eventMap: SmartFieldPopupEventMap;
self: SmartFieldPopup;
field: SmartField;
lookupResult: SmartFieldLookupResult;
smartField: SmartField;
proposalChooser: ProposalChooser;
constructor();
protected _init(options: InitModelOf): void;
protected _createProposalChooser(): ProposalChooser;
protected _createLayout(): AbstractLayout;
protected _render(): void;
setLookupResult(result: SmartFieldLookupResult): void;
/**
* @returns the selected lookup row from the proposal chooser. If the row is disabled this function returns null.
*/
getSelectedLookupRow(): LookupRow;
setStatus(status: StatusOrModel): void;
selectFirstLookupRow(): void;
selectLookupRow(): void;
/**
* Delegates the key event to the proposal chooser.
*/
delegateKeyEvent(event: ScoutKeyboardEvent & JQuery.Event): void;
protected _triggerEvent(event: ProposalChooserActiveFilterSelectedEvent | ProposalChooserLookupRowSelectedEvent): void;
/**
* This event handler is called before the mousedown handler on the _document_ is triggered
* This allows us to prevent the default, which is important for the CellEditorPopup which
* should stay open when the SmartField popup is closed. It also prevents the focus blur
* event on the SmartField input-field.
*/
protected _onContainerMouseDown(event: JQuery.MouseDownEvent): boolean;
protected _onRemoveSmartField(event: Event>): void;
protected _isMouseDownOnAnchor(event: MouseEvent): boolean;
/** @internal */
_onAnimationEnd(): void;
static hasPopupAnimation(): boolean;
}
//# sourceMappingURL=SmartFieldPopup.d.ts.map