export type SubscribableArrayCallback = (vals: readonly T[]) => void; export interface SubscribableArraySubscription { unsubscribe(): void; } export interface SubscribableArray { push(val: T): void; unshift(val: T): void; subscribe(callback: SubscribableArrayCallback): SubscribableArraySubscription; getArray(): readonly T[]; } export declare function createSubscribableArray(originalValue?: readonly T[]): SubscribableArray; export declare function useSubscribableArray(array: SubscribableArray): readonly T[];