/// <reference types="jquery" />
import { LookupRow, ProposalChooser, ProposalField, SmartFieldLookupResult, SmartFieldPopup, SmartFieldTouchPopup } from '../../../../index';
export declare const proposalFieldSpecHelper: {
    testProposalFieldInputs(field: ProposalField, inputs: (ProposalFieldSpecHelperInput | string)[], touchMode?: boolean, callbacks?: ProposalFieldSpecHelperCallbacks): Promise<void>;
    ensureInput(inputOrText: ProposalFieldSpecHelperInput | string): ProposalFieldSpecHelperInput;
    acceptCustomText(field: ProposalField, text: string): Promise<void>;
    selectLookupRow(field: ProposalField, text: string): Promise<LookupRow<string>>;
    openPopup(field: ProposalField): Promise<SmartFieldTouchPopup<string> | SmartFieldPopup<string>>;
};
export type ProposalFieldSpecHelperInput = {
    text: string;
    lookup?: boolean;
};
export type ProposalFieldSpecHelperCallbacks = {
    beforeInput?: (input: ProposalFieldSpecHelperInput) => void;
    afterInput?: (input: ProposalFieldSpecHelperInput) => void;
    afterSelectLookupRow?: (text: string, lookupRow: LookupRow<string>) => void;
    afterAcceptCustomText?: (text: string) => void;
};
export declare class SpecProposalField extends ProposalField {
    _userWasTyping: boolean;
    _lookupByTextOrAllDone(result: SmartFieldLookupResult<string>): void;
    _getLastSearchText(): string;
    acceptInput(sync?: boolean): JQuery.Promise<void> | void;
    _acceptInput(sync: boolean, searchText: string, searchTextEmpty: boolean, searchTextChanged: boolean, selectedLookupRow: LookupRow<string>): JQuery.Promise<void> | void;
}
export declare class SpecSmartFieldTouchPopup<TValue> extends SmartFieldTouchPopup<TValue> {
    _widget: ProposalChooser<TValue, any, any>;
}
//# sourceMappingURL=proposalFieldSpecHelper.d.ts.map