/**
 * The definitionEditor stores interactive filters at the same level as
 * layerDefinition.
 *
 * See
 * {@link https://developers.arcgis.com/web-map-specification/objects/definitionEditor/}
 * {@link https://developers.arcgis.com/web-scene-specification/objects/definitionEditor/}.
 */
export interface DefinitionEditorJson {
    /**
     * An array of input objects.
     */
    inputs?: InputJson[] | null;
    /**
     * A string value representing the where clause for the interactive filter.
     */
    parameterizedExpression?: string | null;
}
/**
 * The input objects specified by the definitionEditor. See
 * {@link https://developers.arcgis.com/web-map-specification/objects/input/}
 * {@link https://developers.arcgis.com/web-scene-specification/objects/input/}.
 */
export interface InputJson {
    /**
     * A string value representing a hint for the input.
     */
    hint?: string | null;
    /**
     * An array of parameter objects.
     */
    parameters?: ParameterJson[] | null;
    /**
     * A string value representing the prompt for the input.
     */
    prompt?: string | null;
}
/**
 * Objects defined by a definitionEditor input. See
 * {@link https://developers.arcgis.com/web-map-specification/objects/parameter/}
 * {@link https://developers.arcgis.com/web-scene-specification/objects/parameter/}.
 */
export interface ParameterJson {
    /**
     * The default value that is automatically given if nothing is provided.
     */
    defaultValue?: number | string | null;
    /**
     * A string value representing the name of the field to query.
     */
    fieldName?: string | null;
    /**
     * Number given to uniquely identify the specified parameter.
     */
    parameterId?: number | null;
    /**
     * The field type for the specified field parameter. See Field.FieldType.
     */
    type?: string | null;
}
