/**
 * geomType: Set only if the attribute is a geometry type. Determines the type of geometry.
 *
 * numType: Set only if the attribute is a number type. Determines the type of number.
 *
 * type: The attribute type, which determines how to render it.
 *
 * @typedef {Object} AttributeBase
 * @property {string} [geomType]
 * @property {string} [numType]
 * @property {string} [type]
 */
/**
 * A feature attribute definition.
 *
 * extends AttributeBase
 *
 * @typedef {Object} Attribute
 * @property {string} [geomType] (AttributeBase)
 * @property {string} [numType] (AttributeBase)
 * @property {string} [type] (AttributeBase)
 * @property {string[]} [choices] The list of possible values for the attribute.
 * @property {number} [maxLength] Specifies the maximum number of character for the attribute value.
 * @property {string} [name] The attribute name.
 * @property {string} [alias] The attribute alias
 * @property {boolean} [readonly] Whether the attribute's value should be prevented from being edited
 *    or not. Defaults to `false`.
 * @property {boolean} [required] Whether the attribute is required to have a value set or not.
 *    Defaults to `false`.
 * @property {string} [format] The format used in the date, time and datetime type.
 * @property {string} [mask] The mask used in the date, time and datetime type.
 */
/**
 * Set the `type` and `geomType` properties of an attribute if the given
 * type is a geometry one.
 *
 * @param {AttributeBase} attribute Attribute.
 * @param {string} type Type.
 * @returns {boolean} Whether both attribute type and geomType were set.
 * @hidden
 */
export function setGeometryType(attribute: AttributeBase, type: string): boolean;
declare const _default: any;
export default _default;
/**
 * geomType: Set only if the attribute is a geometry type. Determines the type of geometry.
 *
 * numType: Set only if the attribute is a number type. Determines the type of number.
 *
 * type: The attribute type, which determines how to render it.
 */
export type AttributeBase = {
    geomType?: string;
    numType?: string;
    type?: string;
};
/**
 * A feature attribute definition.
 *
 * extends AttributeBase
 */
export type Attribute = {
    /**
     * (AttributeBase)
     */
    geomType?: string;
    /**
     * (AttributeBase)
     */
    numType?: string;
    /**
     * (AttributeBase)
     */
    type?: string;
    /**
     * The list of possible values for the attribute.
     */
    choices?: string[];
    /**
     * Specifies the maximum number of character for the attribute value.
     */
    maxLength?: number;
    /**
     * The attribute name.
     */
    name?: string;
    /**
     * The attribute alias
     */
    alias?: string;
    /**
     * Whether the attribute's value should be prevented from being edited
     * or not. Defaults to `false`.
     */
    readonly?: boolean;
    /**
     * Whether the attribute is required to have a value set or not.
     * Defaults to `false`.
     */
    required?: boolean;
    /**
     * The format used in the date, time and datetime type.
     */
    format?: string;
    /**
     * The mask used in the date, time and datetime type.
     */
    mask?: string;
};
