import { R as RedisOptions, a as RequesterConfig, b as Redis$1, c as Requester } from './zmscore-9faf292c.js';
export { A as AppendCommand, B as BitCountCommand, e as BitOpCommand, f as BitPosCommand, C as CopyCommand, D as DBSizeCommand, h as DecrByCommand, g as DecrCommand, i as DelCommand, E as EchoCommand, j as EvalCommand, k as EvalshaCommand, l as ExistsCommand, n as ExpireAtCommand, m as ExpireCommand, F as FlushAllCommand, o as FlushDBCommand, G as GeoAddCommand, p as GeoAddCommandOptions, r as GeoDistCommand, s as GeoHashCommand, q as GeoMember, t as GeoPosCommand, u as GeoSearchCommand, v as GeoSearchStoreCommand, x as GetBitCommand, w as GetCommand, y as GetDelCommand, z as GetRangeCommand, H as GetSetCommand, I as HDelCommand, J as HExistsCommand, L as HGetAllCommand, K as HGetCommand, M as HIncrByCommand, N as HIncrByFloatCommand, O as HKeysCommand, Q as HLenCommand, S as HMGetCommand, T as HMSetCommand, V as HRandFieldCommand, W as HScanCommand, X as HSetCommand, Y as HSetNXCommand, Z as HStrLenCommand, _ as HValsCommand, a0 as IncrByCommand, a1 as IncrByFloatCommand, $ as IncrCommand, a2 as JsonArrAppendCommand, a3 as JsonArrIndexCommand, a4 as JsonArrInsertCommand, a5 as JsonArrLenCommand, a6 as JsonArrPopCommand, a7 as JsonArrTrimCommand, a8 as JsonClearCommand, a9 as JsonDelCommand, aa as JsonForgetCommand, ab as JsonGetCommand, ac as JsonMGetCommand, ad as JsonNumIncrByCommand, ae as JsonNumMultByCommand, af as JsonObjKeysCommand, ag as JsonObjLenCommand, ah as JsonRespCommand, ai as JsonSetCommand, aj as JsonStrAppendCommand, ak as JsonStrLenCommand, al as JsonToggleCommand, am as JsonTypeCommand, an as KeysCommand, ao as LIndexCommand, ap as LInsertCommand, aq as LLenCommand, ar as LMoveCommand, as as LPopCommand, at as LPushCommand, au as LPushXCommand, av as LRangeCommand, aw as LRemCommand, ax as LSetCommand, ay as LTrimCommand, az as MGetCommand, aA as MSetCommand, aB as MSetNXCommand, aE as PExpireAtCommand, aD as PExpireCommand, aG as PSetEXCommand, aH as PTtlCommand, aC as PersistCommand, aF as PingCommand, P as Pipeline, aI as PublishCommand, aM as RPopCommand, aN as RPushCommand, aO as RPushXCommand, aJ as RandomKeyCommand, aK as RenameCommand, aL as RenameNXCommand, aP as SAddCommand, aS as SCardCommand, aW as SDiffCommand, aX as SDiffStoreCommand, b2 as SInterCommand, b3 as SInterStoreCommand, b4 as SIsMemberCommand, b6 as SMIsMemberCommand, b5 as SMembersCommand, b7 as SMoveCommand, b8 as SPopCommand, b9 as SRandMemberCommand, ba as SRemCommand, bb as SScanCommand, bd as SUnionCommand, be as SUnionStoreCommand, aQ as ScanCommand, aR as ScanCommandOptions, bn as ScoreMember, aT as ScriptExistsCommand, aU as ScriptFlushCommand, aV as ScriptLoadCommand, a_ as SetBitCommand, aY as SetCommand, aZ as SetCommandOptions, a$ as SetExCommand, b0 as SetNxCommand, b1 as SetRangeCommand, bc as StrLenCommand, bf as TimeCommand, bg as TouchCommand, bh as TtlCommand, bi as Type, bj as TypeCommand, bk as UnlinkCommand, U as UpstashRequest, d as UpstashResponse, bl as XAddCommand, bm as XRangeCommand, bp as ZAddCommand, bo as ZAddCommandOptions, bq as ZCardCommand, br as ZCountCommand, bs as ZDiffStoreCommand, bt as ZIncrByCommand, bu as ZInterStoreCommand, bv as ZInterStoreCommandOptions, bw as ZLexCountCommand, bx as ZMScoreCommand, by as ZPopMaxCommand, bz as ZPopMinCommand, bA as ZRangeCommand, bB as ZRangeCommandOptions, bC as ZRankCommand, bD as ZRemCommand, bE as ZRemRangeByLexCommand, bF as ZRemRangeByRankCommand, bG as ZRemRangeByScoreCommand, bH as ZRevRankCommand, bI as ZScanCommand, bJ as ZScoreCommand, bK as ZUnionCommand, bL as ZUnionCommandOptions, bM as ZUnionStoreCommand, bN as ZUnionStoreCommandOptions } from './zmscore-9faf292c.js';

/**
 * Connection credentials for upstash redis.
 * Get them from https://console.upstash.com/redis/<uuid>
 */
type RedisConfigNodejs = {
    /**
     * UPSTASH_REDIS_REST_URL
     */
    url: string | undefined;
    /**
     * UPSTASH_REDIS_REST_TOKEN
     */
    token: string | undefined;
    /**
     * An agent allows you to reuse connections to reduce latency for multiple sequential requests.
     *
     * This is a node specific implementation and is not supported in various runtimes like Vercel
     * edge functions.
     *
     * @example
     * ```ts
     * import https from "https"
     *
     * const options: RedisConfigNodejs = {
     *  agent: new https.Agent({ keepAlive: true })
     * }
     * ```
     */
    /**
     * The signal will allow aborting requests on the fly.
     * For more check: https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal
     */
    signal?: AbortSignal;
    latencyLogging?: boolean;
    agent?: any;
    keepAlive?: boolean;
} & RedisOptions & RequesterConfig;
/**
 * Serverless redis client for upstash.
 */
declare class Redis extends Redis$1 {
    /**
     * Create a new redis client by providing the url and token
     *
     * @example
     * ```typescript
     * const redis = new Redis({
     *  url: "<UPSTASH_REDIS_REST_URL>",
     *  token: "<UPSTASH_REDIS_REST_TOKEN>",
     * });
     * ```
     */
    constructor(config: RedisConfigNodejs);
    /**
     * Create a new redis client by providing a custom `Requester` implementation
     *
     * @example
     * ```ts
     *
     * import { UpstashRequest, Requester, UpstashResponse, Redis } from "@upstash/redis"
     *
     *  const requester: Requester = {
     *    request: <TResult>(req: UpstashRequest): Promise<UpstashResponse<TResult>> => {
     *      // ...
     *    }
     *  }
     *
     * const redis = new Redis(requester)
     * ```
     */
    constructor(requesters: Requester);
    /**
     * Create a new Upstash Redis instance from environment variables.
     *
     * Use this to automatically load connection secrets from your environment
     * variables. For instance when using the Vercel integration.
     *
     * This tries to load `UPSTASH_REDIS_REST_URL` and `UPSTASH_REDIS_REST_TOKEN` from
     * your environment using `process.env`.
     */
    static fromEnv(config?: Omit<RedisConfigNodejs, "url" | "token">): Redis;
}

export { Redis, RedisConfigNodejs, Requester };
