import { exec as exec$1 } from 'child_process';

declare class CouldNotFetchDependencies extends Error {
    constructor();
}

interface YarnDep {
    name: string;
}
interface YarnDepsTree {
    data: {
        type: string;
        trees: YarnDep[];
    };
}
interface Person {
    name: string;
    email?: string;
}
interface RegistryPackage {
    package: {
        name: string;
        author: Person;
        maintainers: Person[];
    };
}
interface RegistryObject {
    objects: RegistryPackage[];
}

declare const exec: typeof exec$1.__promisify__;
declare function rawUserQuery(user: string): string;
declare function getDeps(): Promise<YarnDepsTree>;
declare function getFlaggedPackages(users: string[]): Promise<RegistryObject[]>;
declare function hasMarakPackage(deps: YarnDepsTree, marakPackages: RegistryObject): YarnDep[];

export { CouldNotFetchDependencies, Person, RegistryObject, RegistryPackage, YarnDep, YarnDepsTree, exec, getDeps, getFlaggedPackages, hasMarakPackage, rawUserQuery };
