import { type Rule, type SchematicContext, type Tree } from '@angular-devkit/schematics';
import type { NgAddPackageOptions } from '../../tasks/index';
/**
 * Install via `ng add` a list of npm packages.
 * @param packages List of packages to be installed via `ng add`
 * @param options install options
 * @param packageJsonPath path of the package json of the project where they will be installed
 */
export declare function ngAddPackages(packages: string[], options?: Omit<NgAddPackageOptions, 'version'> & {
    version?: string | (string | undefined)[];
}, packageJsonPath?: string): Rule;
export interface NgAddOptions {
    /** Project name */
    projectName?: string | undefined;
    /** Use a pinned version for otter packages */
    exactO3rVersion?: boolean;
    /** Skip the install process */
    skipInstall?: boolean;
}
interface DependencyToAdd {
    dependenciesToInstall?: string[];
    devDependenciesToInstall?: string[];
    additionalNgAddToRun?: string[];
}
type GetDependencyToAdd = (options: NgAddOptions, tree: Tree, context: SchematicContext) => DependencyToAdd | Promise<DependencyToAdd>;
/**
 * Add dependencies to the project during ng add process
 * @param options
 * @param packageJsonPath
 * @param deps
 */
export declare function ngAddDependenciesRule(options: NgAddOptions, packageJsonPath: string, deps: DependencyToAdd | GetDependencyToAdd | Promise<DependencyToAdd>): Rule;
export {};
//# sourceMappingURL=ng-add-helpers.d.ts.map