import { type AuthedUser } from './toolRegistry.ts';
export declare function _setItcHandlersForTest(h: {
    userHandler?: {
        addListener?: (fn: () => void) => void;
    };
    schemaHandler?: {
        addListener?: (fn: () => void) => void;
    };
} | undefined): void;
export declare function _resetListChangedForTest(): void;
export declare function _setUserResolverForTest(fn: ((username: string) => Promise<AuthedUser | undefined>) | undefined): void;
/**
 * Idempotent: subscribe once at component boot. Repeated calls are
 * no-ops. Returns true if subscriptions were actually installed (false
 * if Harper's ITC handlers aren't available in this process).
 */
export declare function initListChanged(): boolean;
/**
 * Compute and stash the initial tools/resources snapshot for a session
 * that just opened its GET stream. Without this seed, the first event
 * would always be a "changed" because `lastTools === undefined !==
 * current`. Call right after registerSession.
 */
export declare function seedSessionSnapshot(sessionId: string): void;
