import { type Pool } from 'generic-pool'; import type { RawClient, ClientConfig, ClientConfigOrString } from "./client.type.js"; import { CommandAPI } from '../wire/command-set.js'; /** * Iggy client with connection pooling support. * Manages a pool of connections for efficient resource utilization. */ export declare class Client extends CommandAPI { /** Client configuration */ _config: ClientConfig; /** Connection pool instance */ _pool: Pool; /** * Creates a new pooled client. * * @param config - Client configuration or connection string */ constructor(config: ClientConfigOrString); /** * Destroys the client and drains all connections from the pool. */ destroy(): Promise; } /** * Iggy client that uses a single persistent connection. * Suitable for applications that don't need connection pooling. */ export declare class SingleClient extends CommandAPI { /** Client configuration */ _config: ClientConfig; /** * Creates a new single-connection client. * * @param config - Client configuration or connection string */ constructor(config: ClientConfigOrString); /** * Destroys the client connection. */ destroy(): Promise; } /** * Simple Iggy client wrapper around an existing RawClient. * Useful when you already have a RawClient instance. */ export declare class SimpleClient extends CommandAPI { /** * Creates a new simple client from an existing RawClient. * * @param client - Existing RawClient instance */ constructor(client: RawClient); /** * Destroys the underlying client connection. */ destroy(): Promise; } /** * Creates a SimpleClient with the given configuration. * Convenience function for quickly creating a client. * * @param config - Client configuration or connection string * @returns SimpleClient instance */ export declare const getClient: (config: ClientConfigOrString) => Promise; //# sourceMappingURL=client.d.ts.map