import type { Result } from "@adviser/cement"; import type { QueryFilter, ResQueryDocs, VibesDiyError } from "@vibes.diy/api-types"; export type QueriedDoc = { _id: string; } & Record; export interface QueryDocsSource { queryDocs(dbName?: string, filter?: QueryFilter, pager?: { limit?: number; after?: string; }): Promise>; } export interface QueryWalkBounds { readonly pageSize: number; readonly docBudget: number; readonly maxPages: number; } export declare const DEFAULT_QUERY_WALK_BOUNDS: QueryWalkBounds; export type QueryWalkOutcome = { readonly kind: "ok"; readonly docs: QueriedDoc[]; readonly moreOnServer: boolean; } | { readonly kind: "error"; readonly err: unknown; } | { readonly kind: "unexpected"; readonly res: unknown; }; export interface QueryWalkArgs { readonly dbName: string; readonly filter?: QueryFilter; readonly bounds?: QueryWalkBounds; } export declare function walkQueryDocs(source: QueryDocsSource, args: QueryWalkArgs): Promise;