import type { UmbPropertyEditorConfigProperty, UmbPropertyEditorConfig } from '../types.js';
import type { DataTypePropertyPresentationModel } from '../../backend-api/index.js';
/**
 * Extends Array to add utility functions for accessing data type properties
 * by alias, returning either the value or the complete DataTypePropertyPresentationModel object
 */
export declare class UmbPropertyEditorConfigCollection extends Array<UmbPropertyEditorConfigProperty> {
    constructor(args: UmbPropertyEditorConfig);
    static get [Symbol.species](): ArrayConstructor;
    getValueByAlias<T>(alias: string): T | undefined;
    getByAlias(alias: string): DataTypePropertyPresentationModel | undefined;
    /**
     * Convert the underlying array to an object where
     * the property value is keyed by its alias
     * eg
     * `[
     *   { 'alias': 'myProperty', 'value': 27 },
     *   { 'alias': 'anotherProperty', 'value': 'eleven' },
     * ]`
     * is returned as
     * `{
     *   myProperty: 27,
     * 	 anotherProperty: 'eleven',
     * }`
     */
    toObject(): Record<string, unknown>;
    equal(other: UmbPropertyEditorConfigCollection | undefined): boolean;
}
