import type { Entity } from 'koota';
import { FrameEditSession } from '../editing/FrameEditSession';
interface FrameEditSessionContext {
    /** The currently-active session, or undefined when no gesture is in flight. */
    current: FrameEditSession | undefined;
    /**
     * Open a new session over the given entities. If a previous session is still
     * active (e.g. selection changed mid-drag and onMouseUp never fired), it is
     * aborted first so its snapshot is restored.
     */
    begin: (entities: Entity[]) => FrameEditSession;
}
export declare const provideFrameEditSession: (partID: () => string) => void;
export declare const useFrameEditSession: () => FrameEditSessionContext;
export {};
