import type { ClientToolDefinition } from '@mondaydotcomorg/atp-protocol'; import type { ClientHooks, TokenRefreshConfig } from './types.js'; import { BaseSession, type TokenCredentials } from './base-session.js'; /** * HTTP-based session for connecting to remote ATP servers. */ export declare class ClientSession extends BaseSession { private baseUrl; private customHeaders; private hooks?; constructor(baseUrl: string, headers?: Record, hooks?: ClientHooks, tokenRefreshConfig?: Partial); /** * Initializes the client session with the server. * This MUST be called before any other operations. * The server generates and returns a unique client ID and token. */ init(clientInfo?: { name?: string; version?: string; [key: string]: unknown; }, tools?: ClientToolDefinition[], services?: { hasLLM: boolean; hasApproval: boolean; hasEmbedding: boolean; hasTools: boolean; }): Promise; /** * Ensures the client is initialized before making requests. */ ensureInitialized(): Promise; /** * Creates HTTP headers for requests. */ getHeaders(): Record; getBaseUrl(): string; /** * Prepares headers for a request, refreshing token if needed and calling preRequest hook if configured */ prepareHeaders(method: string, url: string, body?: unknown): Promise>; } //# sourceMappingURL=session.d.ts.map