/// <reference types="jquery" />
import { LookupRow, ProposalFieldEventMap, ProposalFieldModel, SmartField, SmartFieldLookupResult } from '../../../index';
export declare class ProposalField extends SmartField<string> implements ProposalFieldModel {
    model: ProposalFieldModel;
    eventMap: ProposalFieldEventMap;
    self: ProposalField;
    trimText: boolean;
    /**
     * If this flag is set to true the proposal field performs a lookup by text when
     * accept proposal is called. The behavior is similar to what the smart-field does
     * in that case, but without the need to have a valid single match as the result
     * from the lookup.
     */
    lookupOnAcceptByText: boolean;
    constructor();
    protected _getValueFromLookupRow(lookupRow: LookupRow<string>): string;
    protected _getLastSearchText(): string;
    cssClassName(): string;
    protected _addAriaFieldDescription(): void;
    protected _handleEnterKey(event: JQuery.KeyDownEvent): void;
    protected _lookupByTextOrAllDone(result: SmartFieldLookupResult<string>): void;
    protected _formatValue(value: string): string;
    protected _validateValue(value: string): string;
    protected _ensureValue(value: string): string;
    /**
     * When 'clear' has been clicked (searchText is empty), we want to call customTextAccepted,
     * so the new value is sent to the server #221199.
     */
    protected _acceptByText(sync: boolean, searchText: string): void;
    /**
     * Only used in case lookupOnAcceptByText is true. It's basically the same code
     * as in the smart-field but without the error handling.
     */
    protected _acceptByTextDone(result: SmartFieldLookupResult<string>): void;
    protected _checkResetLookupRow(value: string): boolean;
    protected _checkSearchTextChanged(searchText: string): boolean;
    protected _customTextAccepted(searchText: string): void;
    getValueForSelection(): string;
    /**
     * In ProposalField value and display-text is the same. When a custom text has been entered,
     * the value is set and the lookup-row is null.
     */
    protected _copyValuesFromField(otherField: ProposalField): void;
    protected _acceptInput(sync: boolean, searchText: string, searchTextEmpty: boolean, searchTextChanged: boolean, selectedLookupRow: LookupRow<string>): JQuery.Promise<void> | void;
    setTrimText(trimText: boolean): void;
    protected _updateEmpty(): void;
}
//# sourceMappingURL=ProposalField.d.ts.map