import type { UmbCollectionConfiguration } from './types.js';
import type { ManifestCollection } from './extensions/types.js';
import type { UmbCollectionFilterModel } from './collection-filter-model.interface.js';
import { UmbExtensionElementAndApiSlotElementBase } from '../extension-registry/index.js';
import type { UmbApi } from '../../../libs/extension-api/index.js';
export declare class UmbCollectionElement<ConfigType extends UmbCollectionConfiguration = UmbCollectionConfiguration, FilterType extends UmbCollectionFilterModel = UmbCollectionFilterModel> extends UmbExtensionElementAndApiSlotElementBase<ManifestCollection> {
    #private;
    getExtensionType(): string;
    getDefaultElementName(): string;
    set config(newVal: ConfigType | undefined);
    get config(): ConfigType | undefined;
    set filter(newVal: FilterType | undefined);
    get filter(): FilterType | undefined;
    protected apiChanged(api: UmbApi | undefined): void;
    getSelection(): any;
}
declare global {
    interface HTMLElementTagNameMap {
        'umb-collection': UmbCollectionElement;
    }
}
