export interface ArrayStorage<T extends SerializableValue> extends Iterable<T> {
readonly [Symbol.iterator]: () => IterableIterator<T>;
readonly length: number;
readonly forEach: (callback: (value: T, idx: number) => void) => void;
readonly push: (...items: T[]) => number;
readonly pop: () => T | undefined;
[n: number]: T;
readonly [OpaqueTagSymbol0]: unique symbol;
} for<T extends SerializableValue>(): ArrayStorage<T>; () => IterableIterator<T> (callback: (value: T, idx: number) => void) => void (...items: T[]) => number () => T | undefined class MySmartContract extends SmartContract {
private readonly pendingAddresses =
ArrayStorage.for<Address>();
public addPendingAddress(address: Address): void {
this.pendingAddresses.push(address);
}
}