import { type GoodVibesSdkOptions, type GoodVibesSdk } from './client.js';
/**
 * Options for {@link createBrowserGoodVibesSdk}.
 *
 * Extends {@link GoodVibesSdkOptions} with browser-friendly defaults:
 * - `baseUrl` is optional and defaults to `location.origin`.
 * - `fetch` and `WebSocketImpl` default to the browser globals.
 *
 * This is the canonical options type for the browser entrypoint
 * (`@pellux/goodvibes-sdk/browser`). The web entrypoint
 * (`@pellux/goodvibes-sdk/web`) exposes the same shape as
 * `WebGoodVibesSdkOptions` — a named alias retained for ergonomic imports.
 */
export interface BrowserGoodVibesSdkOptions extends Omit<GoodVibesSdkOptions, 'baseUrl' | 'fetch' | 'WebSocketImpl'> {
    readonly baseUrl?: string | undefined;
    readonly fetch?: typeof fetch | undefined;
    readonly WebSocketImpl?: typeof WebSocket | undefined;
}
/**
 * Create a GoodVibes SDK instance for browser environments.
 *
 * Differences from `createGoodVibesSdk`:
 * - `baseUrl` defaults to `location.origin` when omitted.
 * - HTTP retry and realtime reconnect are pre-configured with
 *   browser-appropriate defaults.
 * - Relies on the native browser `fetch` and `WebSocket` globals; pass
 *   `options.fetch` / `options.WebSocketImpl` to override.
 *
 * @example
 * // Example only: baseUrl defaults to location.origin in a real browser app.
 * import { createBrowserGoodVibesSdk } from '@pellux/goodvibes-sdk/browser';
 *
 * const sdk = createBrowserGoodVibesSdk({
 *   authToken: sessionStorage.getItem('gv-token') ?? undefined,
 * });
 *
 * const agents = await sdk.operator.agents.list();
 */
export { forSession } from './companion-realtime.js';
export declare function createBrowserGoodVibesSdk(options?: BrowserGoodVibesSdkOptions): GoodVibesSdk;
//# sourceMappingURL=browser.d.ts.map