import { Observable } from 'rxjs'; import { CreateStateRxOpts, CreateStateRxApi } from './create-staterx'; export interface CreateArrayOpts extends CreateStateRxOpts, T[]> { } export interface Actions { pop: () => { type: string; }; push: (...data: T[]) => { type: string; data: T[]; }; reverse: () => { type: string; }; shift: () => { type: string; }; unshift: (...data: T[]) => { type: string; data: T[]; }; sort: (compareFn?: (a: T, b: T) => number) => { type: string; data: T[]; }; splice: (start: number, deleteCount?: number, ...items: T[]) => { type: string; data: { start: number; deleteCount?: number; items: T[]; }; }; } export interface Selectors { byIndex: (index: number) => Observable; slice: (start?: number, end?: number) => Observable; } export interface StateRxArray extends CreateStateRxApi, Actions, Selectors { } export declare const createArray: (initialState: T[], options?: CreateArrayOpts) => StateRxArray & import("./create-staterx").CloneApi, E> & E;