import type Collection from "@arcgis/core/core/Collection";
import { CollectionProxy } from "../utilities/CollectionProxy.js";
import { ReadOnlyCollection } from "../utilities/ReadOnlyCollection.js";
import type { InitializableBase, InitializableBaseProperties } from "./InitializableBase.js";
/**
 * A collection of initializable items.
 */
export interface InitializableCollection<TProps extends InitializableBaseProperties, T extends InitializableBase<TProps>> extends Collection<T> {
    /**
     * Returns a collection of the initialized items.
     */
    initializedItems: ReadOnlyCollection<T>;
}
/**
 * A wrapper for a collection of initializable items.
 */
export declare abstract class InitializableCollectionProxy<TProps extends InitializableBaseProperties, T extends InitializableBase<TProps>> extends CollectionProxy<T> implements InitializableCollection<TProps, T> {
    /**
     * Returns a collection of the initialized items.
     */
    get initializedItems(): ReadOnlyCollection<T>;
    /**
     * Returns whether an item in the collection is considered initialized.
     *
     * @param item The item being checked for initialization.
     */
    protected _itemIsInitialized(item: T): boolean;
}
