import { Modify } from './utils'; import * as API from '../../../ably'; import { ModularPlugins } from 'common/lib/client/modularplugins'; import { StandardPlugins } from 'plugins'; export type RestAgentOptions = { keepAlive: boolean; maxSockets: number; }; export default interface ClientOptions extends API.ClientOptions { restAgentOptions?: RestAgentOptions; pushFullWait?: boolean; agents?: Record; } export type NormalisedClientOptions = Modify< ClientOptions, { primaryDomain: string; keyName?: string; keySecret?: string; timeouts: Record; maxMessageSize: number; connectivityCheckParams: Record | null; headers: Record; } >;