import { ControllerBase, type ControllerHost } from '../../Controls/Controllers/Abstracts/ControllerBase';
import type { IDropListGroupRefConfig } from '../Core/DropListGroupRef';
import { type DropListGroupRef } from '../Core/DropListGroupRef';
import type { DropListRef } from '../Core/DropListRef';
/**
 * Lit Reactive Controller for drop list group functionality.
 * Wraps DropListGroupRef to integrate with Lit components.
 *
 * Automatically connects all child drop lists to each other,
 * enabling drag-and-drop between them without manual configuration.
 *
 * Equivalent to Angular CDK's CdkDropListGroup.
 *
 * @public
 */
export declare class DropListGroupController<TItem = any> extends ControllerBase {
    private _groupRef;
    private _config;
    private _initialized;
    /**
     * Create a new DropListGroupController.
     *
     * @param host - Host component.
     * @param config - Configuration options.
     */
    constructor(host: ControllerHost, config?: IDropListGroupRefConfig);
    /**
     * Called when the host connects to the DOM.
     *
     * @public
     * @override
     */
    hostConnected(): void;
    /**
     * Called when the host disconnects from the DOM.
     *
     * @public
     * @override
     */
    hostDisconnected(): void;
    /**
     * Get the underlying DropListGroupRef.
     *
     * @public
     */
    get groupRef(): DropListGroupRef<TItem> | null;
    /**
     * Get/set disabled state.
     *
     * @public
     */
    get disabled(): boolean;
    set disabled(value: boolean);
    /**
     * Get all registered drop lists.
     *
     * @public
     */
    get dropLists(): ReadonlySet<DropListRef<any, TItem>>;
    /**
     * Register a drop list with this group.
     *
     * @param dropList - Drop list to register.
     *
     * @public
     */
    registerDropList(dropList: DropListRef<any, TItem>): void;
    /**
     * Unregister a drop list from this group.
     *
     * @param dropList - Drop list to unregister.
     *
     * @public
     */
    unregisterDropList(dropList: DropListRef<any, TItem>): void;
    /**
     * Initialize the controller.
     *
     * @private
     */
    private _initialize;
    /**
     * Clean up the controller.
     *
     * @private
     */
    private _cleanup;
}
//# sourceMappingURL=DropListGroupController.d.ts.map