import * as _kb_labs_shared_command_kit from '@kb-labs/shared-command-kit';
import { RestInput } from '@kb-labs/sdk';

type GraphRequest = {
    packageName?: string;
    mode: 'tree' | 'reverse' | 'impact' | 'stats';
};
type GraphResponse = {
    mode: string;
    packageName?: string;
    tree?: DependencyTree;
    packages?: string[];
    stats?: GraphStats;
};
type DependencyTree = {
    name: string;
    children: DependencyTree[];
};
type GraphStats = {
    totalPackages: number;
    maxDepth: number;
    avgDependencies: number;
    mostDepended: Array<{
        name: string;
        count: number;
    }>;
};
declare const _default: _kb_labs_shared_command_kit.Handler<unknown, RestInput<GraphRequest, unknown, unknown>, GraphResponse>;

export { type DependencyTree, type GraphRequest, type GraphResponse, type GraphStats, _default as default };
