substreams-sink-redis
Version:
Substreams Redis sink module
40 lines • 1.87 kB
TypeScript
import { TimeSeriesDuplicatePolicies, TimeSeriesAggregationType } from "redis";
import type { RedisClientType, RedisDefaultModules, RedisModules, RedisFunctions, RedisScripts } from "redis";
import type { Clock } from "@substreams/core/proto";
import type { ActionOptions } from "../bin/cli.js";
export type Redis = RedisClientType<RedisDefaultModules & RedisModules, RedisFunctions, RedisScripts>;
export declare type Labels = {
[label: string]: string;
};
export declare function TS_CREATE(client: Redis, key: string, labels: Labels, kvRetentionPeriod: number): Promise<"OK">;
export declare function TS_CREATERULE(client: Redis, sourceKey: string, destinationKey: string, options: ActionOptions): Promise<"OK">;
export declare function TS_ADD(client: Redis, key: string, value: number, clock: Clock, labels: Labels, options: ActionOptions): Promise<number | undefined>;
export declare function SET(client: Redis, key: string, value: string | number): Promise<string | null>;
export declare function GET(client: Redis, params: URLSearchParams): Promise<string | null>;
export declare function INFO(client: Redis): Promise<string>;
export declare function TS_INFO(client: Redis, params: URLSearchParams): Promise<{
totalSamples: number;
memoryUsage: number;
firstTimestamp: number;
lastTimestamp: number;
retentionTime: number;
chunkCount: number;
chunkSize: number;
chunkType: string;
duplicatePolicy: TimeSeriesDuplicatePolicies | null;
labels: {
name: string;
value: string;
}[];
sourceKey: string | null;
rules: {
key: string;
timeBucket: number;
aggregationType: TimeSeriesAggregationType;
}[];
}>;
export declare function TS_RANGE(client: Redis, params: URLSearchParams): Promise<{
timestamp: number;
value: number;
}[]>;
//# sourceMappingURL=redis.d.ts.map