import { z } from "zod"; import { type Verbosity } from "../parsers/shortenClassName.js"; export declare const findCyclesSchema: z.ZodObject<{ path: z.ZodString; className: z.ZodOptional; maxDepth: z.ZodDefault; verbosity: z.ZodDefault>; }, "strip", z.ZodTypeAny, { path: string; maxDepth: number; verbosity: "compact" | "normal" | "full"; className?: string | undefined; }, { path: string; className?: string | undefined; maxDepth?: number | undefined; verbosity?: "compact" | "normal" | "full" | undefined; }>; export type FindCyclesInput = z.infer; export interface CycleChainEntry { depth: number; edge?: string; retainKind: string; className: string; address: string; count?: number; size?: string; isRootCycle: boolean; isCycleBack: boolean; } export interface CycleResult { rootClass: string; rootAddress: string; count?: number; size?: string; chain: CycleChainEntry[]; /** True if some node in the chain matched the optional className filter. */ matched: boolean; } export interface FindCyclesResult { ok: boolean; path: string; totalCycles: number; filterApplied?: string; cycles: CycleResult[]; } /** Pure function: parse `leaks` output and return the cycles array. */ export declare function extractCycles(leaksText: string, path: string, filter?: string, maxDepth?: number, verbosity?: Verbosity): FindCyclesResult; export declare function findCycles(input: FindCyclesInput): Promise;