/**
 * Shared Jest setup.
 *
 * Jest loads this module once through setupFilesAfterEnv. Test files under
 * src/__tests__ re-export from it so every production module and every test
 * observes the same Prisma and Redis mock instances.
 */
import type { DeepMockProxy } from 'jest-mock-extended';
import type { PrismaClient } from '@prisma/client';
/** The single Prisma client used by all tests and mocked production modules. */
export declare const prismaMock: DeepMockProxy<PrismaClient<import(".prisma/client").Prisma.PrismaClientOptions, never, import("@prisma/client/runtime/library").DefaultArgs>>;
type RedisMockFunction = (...args: unknown[]) => Promise<unknown>;
/** The single Redis client used by all tests and mocked production modules. */
declare const mockRedisClient: {
    status: string;
    get: import("jest-mock").Mock<RedisMockFunction>;
    set: import("jest-mock").Mock<RedisMockFunction>;
    setex: import("jest-mock").Mock<RedisMockFunction>;
    del: import("jest-mock").Mock<RedisMockFunction>;
    expire: import("jest-mock").Mock<RedisMockFunction>;
    ttl: import("jest-mock").Mock<RedisMockFunction>;
    incr: import("jest-mock").Mock<RedisMockFunction>;
    decr: import("jest-mock").Mock<RedisMockFunction>;
    exists: import("jest-mock").Mock<RedisMockFunction>;
    keys: import("jest-mock").Mock<RedisMockFunction>;
    scan: import("jest-mock").Mock<RedisMockFunction>;
    hget: import("jest-mock").Mock<RedisMockFunction>;
    hset: import("jest-mock").Mock<RedisMockFunction>;
    hdel: import("jest-mock").Mock<RedisMockFunction>;
    hgetall: import("jest-mock").Mock<RedisMockFunction>;
    lpush: import("jest-mock").Mock<RedisMockFunction>;
    rpush: import("jest-mock").Mock<RedisMockFunction>;
    lpop: import("jest-mock").Mock<RedisMockFunction>;
    rpop: import("jest-mock").Mock<RedisMockFunction>;
    lrange: import("jest-mock").Mock<RedisMockFunction>;
    zadd: import("jest-mock").Mock<RedisMockFunction>;
    zrange: import("jest-mock").Mock<RedisMockFunction>;
    zrangebyscore: import("jest-mock").Mock<RedisMockFunction>;
    zrem: import("jest-mock").Mock<RedisMockFunction>;
    sadd: import("jest-mock").Mock<RedisMockFunction>;
    srem: import("jest-mock").Mock<RedisMockFunction>;
    smembers: import("jest-mock").Mock<RedisMockFunction>;
    publish: import("jest-mock").Mock<RedisMockFunction>;
    subscribe: import("jest-mock").Mock<RedisMockFunction>;
    unsubscribe: import("jest-mock").Mock<RedisMockFunction>;
    connect: import("jest-mock").Mock<RedisMockFunction>;
    ping: import("jest-mock").Mock<RedisMockFunction>;
    quit: import("jest-mock").Mock<RedisMockFunction>;
    disconnect: import("jest-mock").Mock<RedisMockFunction>;
    on: import("jest-mock").Mock<RedisMockFunction>;
    once: import("jest-mock").Mock<RedisMockFunction>;
    off: import("jest-mock").Mock<RedisMockFunction>;
    emit: import("jest-mock").Mock<RedisMockFunction>;
    call: import("jest-mock").Mock<RedisMockFunction>;
    sendCommand: import("jest-mock").Mock<RedisMockFunction>;
    evalsha: import("jest-mock").Mock<RedisMockFunction>;
    eval: import("jest-mock").Mock<RedisMockFunction>;
    script: import("jest-mock").Mock<RedisMockFunction>;
};
export { mockRedisClient };
/** Wait for a specific amount of time in asynchronous tests. */
export declare const wait: (ms: number) => Promise<void>;
/** Replace the global Date constructor with a deterministic date. */
export declare const mockTimestamp: (timestamp: string | number) => void;
/** Restore a Date constructor mock created by mockTimestamp. */
export declare const restoreDateMock: () => void;
/** Generate a deterministic UUID-shaped value for tests. */
export declare const mockUUID: (seed?: number) => string;
/** Generate a syntactically valid mock API key. */
export declare const mockApiKey: (prefix?: string) => string;
/** Generate a simple unsigned-looking JWT value for middleware fixtures. */
export declare const mockJWT: (payload: Record<string, unknown>) => string;
//# sourceMappingURL=setup.d.ts.map