import { Signal } from '@lumino/signaling';
import type { IMovableSectionDestination, IMovableSectionRegistry, IMovableSectionSource } from './tokens';
/**
 * Source and target panels register themselves here so that generic
 * section-moving commands can discover them.
 */
export declare class MovableSectionRegistry implements IMovableSectionRegistry {
    private readonly _sources;
    private readonly _targets;
    private readonly _sourcePanelRegistered;
    private readonly _targetPanelRegistered;
    get sourcePanelRegistered(): Signal<this, {
        id: string;
        label: string;
        sidebar: IMovableSectionSource;
    }>;
    get targetPanelRegistered(): Signal<this, {
        id: string;
        label: string;
        panel: IMovableSectionDestination;
    }>;
    registerSource(id: string, label: string, sidebar: IMovableSectionSource): void;
    registerTarget(id: string, label: string, panel: IMovableSectionDestination): void;
    getSources(): ReadonlyMap<string, {
        label: string;
        sidebar: IMovableSectionSource;
    }>;
    getTargets(): ReadonlyMap<string, {
        label: string;
        panel: IMovableSectionDestination;
    }>;
}
