/**
 * Общие типы для cache-слоя.
 *
 * `RequestContext` — DTO, который HTTP transport прокидывает в каждый tool
 * handler и (через декорированный) ElsClient. Содержит tenant-идентификаторы
 * (appSlug / keyPrefix) — это **обязательное** условие tenant-isolation в
 * cache key.
 *
 * В stdio-режиме контекст можно собрать "вручную" из ELS_API_KEY (см. helper
 * `deriveContextFromKey`) — fallback для случая, когда один процесс = один
 * tenant.
 */
export interface RequestContext {
    /** Slug приложения (если известен). Может быть null для master-key. */
    appSlug: string | null;
    /** Первые 16 символов ELS API-ключа — для key-isolation между разными ключами одного app. */
    keyPrefix: string;
    /** Уникальный id запроса (для логов и трейсов). */
    requestId?: string;
    /** id MCP-сессии. */
    sessionId?: string;
    /** Имя tool'а (для метрик / логов). */
    tool?: string;
}
/**
 * Хелпер: builds a fallback context из API-key, когда нет HTTP layer.
 * keyPrefix = sha256(apiKey).slice(0,16), appSlug = null.
 *
 * Используется stdio-транспортом и тестами.
 */
export declare function deriveContextFromKey(apiKey: string, appSlug?: string | null): RequestContext;
//# sourceMappingURL=types.d.ts.map