export interface Cursor { hasNext: () => Promise; next: () => Promise; toArray: () => Promise; limit: (value: number) => Cursor; skip: (value: number) => Cursor; sort: (field: string, dir: any) => Cursor; }