import type { Chain } from './chains.js'; import type { CircleClient } from './client.js'; export * from './types.js'; export * from './chains.js'; export * from './client.js'; export { VERSION } from './metadata.js'; export * from './errors/index.js'; export * from './extractChain.js'; /** * Parameters for creating a Circle client. */ export type CreateCircleClientParams = { /** API key for authentication */ apiKey: string; /** Entity secret for authentication */ entitySecret: string; /** Chain configuration, defaults to {@link ETH_SEPOLIA} */ chain?: Chain; /** Base URL for the API */ baseUrl?: string; /** Log level */ logLevel?: 'fatal' | 'error' | 'warn' | 'info' | 'debug' | 'trace' | 'silent'; /** * Log destination * * @example * `1` - logs to standard output * `2` - logs to standard error * `'/path/to/logfile.log'` - logs to a file * */ logFile?: number | string; }; /** * Creates a Circle client with the specified parameters. * * @param params - The parameters for creating the client * @returns A configured Circle client instance * * @example * Initialize a client with using the default chain * ```typescript * import { createClient } from '@circle-fin/usdckit' * * const client = createClient({ * apiKey: 'your-api-key', * entitySecret: 'your-entity-secret', * }); * ``` * @example * Initialize a client with using `MATIC_SEPOLIA` chain * ```typescript * import { createClient } from '@circle-fin/usdckit' * import { MATIC_SEPOLIA } from '@circle-fin/usdckit/chains' * * const client = createClient({ * apiKey: 'your-api-key', * entitySecret: 'your-entity-secret', * chain: MATIC_SEPOLIA, * }); * ``` * @example * Initialize a client with logging * ```typescript * import { createClient } from '@circle-fin/usdckit' * * const client = createClient({ * apiKey: 'your-api-key', * entitySecret: 'your-entity-secret', * logLevel: 'debug', * }); * ``` */ export declare function createCircleClient(params: CreateCircleClientParams): CircleClient; export { createCircleClient as createClient };