import { QueueDriverInterface, QueueDriverConnectionInterface, QueryStageStateResponse, QueryDef, RetrieveForProcessingSuccess, QueueDriverOptions, AddToQueueQuery, AddToQueueOptions, AddToQueueResponse, QueryKey, QueryKeyHash, QueueId, GetActiveAndToProcessResponse, QueryKeysTuple, QueuePriority } from '@cubejs-backend/base-driver'; import { CubeStoreDriver } from './CubeStoreDriver'; type CubeStoreRetrieveResponse = { id: string; active: string | null; pending: string; payload: string | null; extra: string | null; }; export declare class CubestoreQueueDriverConnection implements QueueDriverConnectionInterface { protected readonly driver: CubeStoreDriver; protected readonly options: QueueDriverOptions; protected readonly externalIdEnabled: boolean; protected readonly fastTrackEnabled: boolean; protected readonly sendParameters: boolean; constructor(driver: CubeStoreDriver, options: QueueDriverOptions); /** * Below `Interactive` nothing is blocked on the query, and that is the regime where the * queue runs at its concurrency ceiling for minutes, so the retrieval never succeeds anyway */ useFastTrack(priority: QueuePriority): Promise; useExternalId(): Promise; redisHash(queryKey: QueryKey): QueryKeyHash; protected prefixKey(queryKey: QueryKey): string; protected buildAddCommand(queryKey: QueryKey, queryHandler: string, query: AddToQueueQuery, priority: QueuePriority, options: AddToQueueOptions): Promise<{ addedToQueueTime: number; values: (string | number)[]; modifiers: string; }>; addToQueue(queryKey: QueryKey, queryHandler: string, query: AddToQueueQuery, priority: QueuePriority, options: AddToQueueOptions): Promise; getQueryAndRemove(hash: QueryKeyHash, queueId: QueueId | null): Promise<[QueryDef]>; cancelQuery(hash: QueryKeyHash, queueId: QueueId | null): Promise; getActiveQueries(): Promise; getToProcessQueries(): Promise; getActiveAndToProcess(): Promise; getQueryStageState(onlyKeys: boolean): Promise; getResult(queryKey: QueryKey, externalId?: string): Promise; getStalledQueries(): Promise; getOrphanedQueries(): Promise; getQueriesToCancel(): Promise; protected decodeQueryDefFromRow(row: { payload: string; extra?: string | null; }, method: string): QueryDef; getQueryDef(hash: QueryKeyHash, queueId: QueueId | null): Promise; optimisticQueryUpdate(hash: QueryKeyHash, toUpdate: unknown, queueId: QueueId): Promise; release(): void; protected decodeActiveKeysFromRow(active: string | null): QueryKeyHash[]; /** * Shared by `QUEUE RETRIEVE` and `QUEUE ADD_AND_RETRIEVE` so that they cannot drift apart. */ protected decodeRetrievedFromRow(row: CubeStoreRetrieveResponse, method: string): RetrieveForProcessingSuccess | null; retrieveForProcessing(hash: QueryKeyHash, _queueId: QueueId): Promise; getResultBlocking(hash: QueryKeyHash, queueId: QueueId): Promise; setResultAndRemoveQuery(hash: QueryKeyHash, executionResult: unknown, queueId: QueueId): Promise; updateHeartBeat(hash: QueryKeyHash, queueId: QueueId | null): Promise; } export declare class CubeStoreQueueDriver implements QueueDriverInterface { protected readonly driverFactory: () => Promise; protected readonly options: QueueDriverOptions; constructor(driverFactory: () => Promise, options: QueueDriverOptions); protected connection: CubeStoreDriver | null; redisHash(queryKey: QueryKey): QueryKeyHash; protected getConnection(): Promise; createConnection(): Promise; release(): void; } export {}; //# sourceMappingURL=CubeStoreQueueDriver.d.ts.map