import type { Cache } from '../Cache'; import type { QueryPayload } from '../Schema'; import type { Selection } from '../Selection'; import type { FetchResult, QueryExtensions } from './resolveSelections'; export type DebugEvent = { cache?: Cache; label?: string; request: QueryPayload; promise?: Promise; selections: Set; }; export type DebugEventListener = (event: DebugEvent) => void; export type Debugger = { dispatch: (event: DebugEvent) => Promise; /** Returns an unsubscribe function */ subscribe: (listener: DebugEventListener) => () => void; }; export declare const createDebugger: () => Debugger;