/**
 * Friendly session names drawn from famous puppets, marionettes,
 * and puppet characters throughout history.
 *
 * Names are assigned from a pool and returned after a cooldown period
 * when sessions end. This keeps the active session list human-readable
 * and on-brand for DollhouseMCP.
 *
 * @since v2.1.0 — Issue #1700
 */
/**
 * Famous puppets, marionettes, and puppet characters from around the world.
 * Order doesn't matter — the pool is shuffled on startup.
 */
export declare const ALL_PUPPET_NAMES: readonly string[];
/**
 * Iconic attire and accessories drawn from famous dolls, puppets, and
 * theatrical characters throughout history. Used to name console tokens
 * so they never collide with the session puppet-name pool (#1871).
 *
 * Names evoke costume pieces — a token is something you wear or carry,
 * not a person.
 */
export declare const ALL_TOKEN_NAMES: readonly string[];
/**
 * Pick a random token name from the attire pool.
 * Used by the console token module to name newly created tokens (#1871).
 * Drawn from a separate pool to avoid collision with session puppet names.
 */
export declare function pickRandomTokenName(): string;
/**
 * Manages friendly session name assignment from the puppet name pool.
 */
export declare class SessionNamePool {
    /** Names currently assigned to active sessions: sessionId → name */
    private readonly assigned;
    /** Reverse lookup: name → sessionId */
    private readonly nameToSession;
    /** Names in cooldown after session end */
    private cooldown;
    /**
     * Assign a friendly name to a session.
     * Returns an existing assignment if the session already has one.
     *
     * @param isLeader - If true, follower-only names (e.g., Punch) are excluded
     */
    assign(sessionId: string, isLeader?: boolean): string;
    /**
     * Release a name back to the pool with a cooldown period.
     */
    release(sessionId: string): void;
    /**
     * Get the friendly name for a session, or undefined if not assigned.
     */
    getName(sessionId: string): string | undefined;
    /**
     * Get the canonical color for an assigned session name.
     */
    getColor(sessionId: string): string | undefined;
    /**
     * Get all current assignments.
     */
    getAll(): Map<string, string>;
    private flushCooldowns;
}
//# sourceMappingURL=SessionNames.d.ts.map