import { IActivityHandler } from "../../IActivityHandler";
import { Lookup } from "../../Collections";
import { Item } from "../../forms/FormDefinition";
export interface GetFormElementItemsFromFeaturesInputs {
    /** The features to be converted to the items collection. */
    features: __esri.Graphic[];
    /** The name of the feature field used to populate the items' labels. */
    labelFieldName: string;
    /** The name of the feature field used to populate the items' values. If not provided, an item's backing feature is used in a DataRef object. */
    valueFieldName?: string;
    /** The features' fields. If present, the activity can attempt to match inputs to field aliases. */
    fields?: __esri.Field[];
}
export interface GetFormElementItemsFromFeaturesOutputs {
    /** The result items collection. */
    items: Lookup<Item>;
}
export declare class GetFormElementItemsFromFeatures implements IActivityHandler {
    static action: string;
    static suite: string;
    /**
     * Users can input field names incorrectly, whether by using a field alias value instead of the name,
     * getting the casing wrong, or misspelling. We'll try to produce the right attribute value in this method.
     * @param fieldName The user-input name of the field. We'll match it to a field name or a field attribute.
     * @param attributes The attributes we're interested in looking up.
     * @param fields The fields we're checking the fieldName against.
     */
    private _getAttributeValue;
    /**
     * Checks if there is a field name that matches the supplied label.
     * @param label The label input to be checked.
     * @param features The set of features to inspect.
     * @param fields The set of fields to inspect.
     */
    private _isLabelFieldName;
    private _getTokenValues;
    execute(inputs: GetFormElementItemsFromFeaturesInputs): GetFormElementItemsFromFeaturesOutputs;
}
