import type { PolygonSymbol3D } from "./PolygonSymbol3D.js";
import type { RendererBase } from "./Renderer.js";
import type { Symbol } from "./Symbol.js";
import type { Symbol3D } from "./Symbol3D.js";
/**
 * A unique value renderer symbolizes groups of features that have matching
 * field values.
 *
 * See
 * {@link https://developers.arcgis.com/web-map-specification/objects/uniqueValue_renderer/}
 * {@link https://developers.arcgis.com/web-scene-specification/objects/uniqueValueRenderer/}.
 *
 * @deprecated Use "json/*" modules instead.
 */
export interface UniqueValueRenderer extends RendererBase {
    /**
     * A SimpleFillSymbol used for polygon features. It can only be used for
     * bivariate types and size rendering.
     */
    backgroundFillSymbol?: PolygonSymbol3D;
    /**
     * Default string for the default symbol used to draw unspecified values.
     */
    defaultLabel?: string;
    /**
     * Symbol used when a value cannot be matched.
     */
    defaultSymbol?: Symbol | Symbol3D;
    /**
     * String value specifying the first field used to render matching values.
     */
    field1: string;
    /**
     * String value specifying the second field used to render matching values.
     */
    field2?: string;
    /**
     * String value specifying the third field used to render matching values.
     */
    field3?: string;
    /**
     * String value inserted between values if multiple attribute fields are
     * specified.
     */
    fieldDelimiter?: string;
    /**
     * An array of uniqueValueInfo objects with value, label, description and
     * symbol.
     */
    uniqueValueInfos: UniqueValueInfo[];
    /**
     * @inheritDoc
     */
    type: "uniqueValue";
}
/**
 * The following is a list of properties found on the uniqueValueInfo object,
 * which is one of the properties on the renderer object. The uniqueValueInfo
 * object contains the symbology for each uniquely drawn value in the renderer.
 *
 * See
 * {@link https://developers.arcgis.com/web-map-specification/objects/uniqueValueInfo/}
 * {@link https://developers.arcgis.com/web-scene-specification/objects/uniqueValueInfo/}.
 *
 * @deprecated Use "json/*" modules instead.
 */
export interface UniqueValueInfo {
    /**
     * String value used to describe the drawn symbol.
     */
    description?: string;
    /**
     * String value used to label the drawn symbol.
     */
    label?: string;
    /**
     * An object used to display the value.
     */
    symbol: Symbol | Symbol3D;
    /**
     * String value indicating the unique value.
     */
    value: string;
}
