UNPKG

1.08 kBTypeScriptView Raw
1/// <reference types="googlemaps" />
2import { Observable } from 'rxjs';
3export declare function createMVCEventObservable<T>(array: google.maps.MVCArray<T>): Observable<MVCEvent<T>>;
4export declare type MvcEventType = 'insert_at' | 'remove_at' | 'set_at';
5export interface MVCEvent<T> {
6 newArr: T[];
7 eventName: MvcEventType;
8 index: number;
9 previous?: T;
10}
11export declare class MvcArrayMock<T> implements google.maps.MVCArray<T> {
12 private vals;
13 private listeners;
14 clear(): void;
15 getArray(): T[];
16 getAt(i: number): T;
17 getLength(): number;
18 insertAt(i: number, elem: T): void;
19 pop(): T;
20 push(elem: T): number;
21 removeAt(i: number): T;
22 setAt(i: number, elem: T): void;
23 forEach(callback: (elem: T, i: number) => void): void;
24 addListener(eventName: 'remove_at' | 'insert_at' | 'set_at', handler: (...args: any[]) => void): google.maps.MapsEventListener;
25 bindTo(): never;
26 changed(): never;
27 get(): never;
28 notify(): never;
29 set(): never;
30 setValues(): never;
31 unbind(): never;
32 unbindAll(): never;
33}