import * as core from "../pkg/redis.js";
import type { Requester, UpstashRequest, UpstashResponse } from "../pkg/http.js";
import { RequesterConfig } from "../pkg/http.js";
type Env = {
    UPSTASH_DISABLE_TELEMETRY?: string;
};
export type { Requester, UpstashRequest, UpstashResponse };
/**
 * Connection credentials for upstash redis.
 * Get them from https://console.upstash.com/redis/<uuid>
 */
export type RedisConfigCloudflare = {
    /**
     * UPSTASH_REDIS_REST_URL
     */
    url: string;
    /**
     * UPSTASH_REDIS_REST_TOKEN
     */
    token: string;
} & core.RedisOptions & RequesterConfig & Env;
/**
 * Serverless redis client for upstash.
 */
export declare class Redis extends core.Redis {
    /**
     * Create a new redis client
     *
     * @example
     * ```typescript
     * const redis = new Redis({
     *  url: "<UPSTASH_REDIS_REST_URL>",
     *  token: "<UPSTASH_REDIS_REST_TOKEN>",
     * });
     * ```
     */
    constructor(config: RedisConfigCloudflare, env?: Env);
    static fromEnv(env?: {
        UPSTASH_REDIS_REST_URL: string;
        UPSTASH_REDIS_REST_TOKEN: string;
        UPSTASH_DISABLE_TELEMETRY?: string;
    }, opts?: Omit<RedisConfigCloudflare, "url" | "token">): Redis;
}
