import { CustomElement } from '../../../Abstracts/CustomElement';
import type { IItemsElementProps } from './IItemsElementProps';
/**
 * The `{@link ItemsElement}` element.
 *
 * @public
 * @abstract
 */
export declare abstract class ItemsElement<TSource extends object = {}> extends CustomElement implements IItemsElementProps<TSource> {
    private _source;
    /**
     * @protected
     */
    constructor();
    /**
     * Gets or sets the `source` property.
     *
     * @public
     */
    get source(): Array<TSource>;
    set source(value: Array<TSource>);
    /**
     * This method is invoked when the `source` property is changed.
     *
     * @protected
     * @virtual
     * @param prev - The old value of the `source` property.
     * @param next - The new value of the `source` property.
     */
    protected onSourceChanged(prev: Array<TSource>, next: Array<TSource>): void;
}
//# sourceMappingURL=ItemsElement.d.ts.map