import { Static, TSchema } from '@sidewinder/type'; import { Store } from '../store/index'; /** A RedisArray is analogous to a JavaScript Array. It provides asynchronous push, shift, pop, unshift and indexing values in a remote Redis list. */ export declare class RedisArray { #private; private readonly schema; private readonly store; private readonly keyspace; constructor(schema: T, store: Store, keyspace: string); /** Async iterator for this Array */ [Symbol.asyncIterator](): AsyncGenerator>, void, unknown>; /** Clears this Array */ clear(): Promise; /** Returns the length of this Array */ length(): Promise; /** Gets the value at the given index. */ get(index: number): Promise | undefined>; /** Sets the value at the given index */ set(index: number, value: Static): Promise; /** Pushes a value to the end of this Array */ push(...values: Static[]): Promise; /** Pushes a value to the start of this Array */ unshift(...values: Static[]): Promise; /** Pops a value from the end of this Array or undefined if empty */ pop(): Promise | undefined>; /** Shifts a value from the start of this Array or undefined if empty */ shift(): Promise | undefined>; /** Returns a array slice */ slice(start: number, end: number): Promise; /** Returns all values in this Array */ values(): Promise[]>; private resolveKey; }