import { SchematicContext, Rule } from '@angular-devkit/schematics';
import { workspaces } from '@angular-devkit/core';
interface IArchitectMain extends workspaces.ProjectDefinition {
    architect: {
        build: {
            options: {
                main: string;
            };
        };
    };
}
/**
 * Type Guard
 *
 * workspaces.ProjectDefinition: extensions?.architect?.build?.options?.main
 */
export declare function hasArchitectBuildOptionsMain(extensions: any): extensions is IArchitectMain;
interface IArchitectTestStyles extends workspaces.ProjectDefinition {
    architect: {
        test: {
            options: {
                styles: string[];
            };
        };
    };
}
/**
 * Type Guard
 *
 * workspaces.ProjectDefinition: extensions?.architect?.test?.options?.styles;
 */
export declare function hasArchitectTestOptionsStyles(extensions: any): extensions is IArchitectTestStyles;
interface IArchitectBuildStyles extends workspaces.ProjectDefinition {
    architect: {
        build: {
            options: {
                styles: string[];
            };
        };
    };
}
/**
 * Type Guard
 *
 * workspaces.ProjectDefinition: extensions?.architect?.build?.options?.styles
 */
export declare function hasArchitectBuildOptionsStyles(extensions: any): extensions is IArchitectBuildStyles;
/**
 * https://github.com/angular/angular-cli/blob/HEAD/packages/angular/cli/utilities/config.ts#L408
 */
interface IProjectSchematics {
    schematics: {
        '@schematics/angular:component': {
            style: string;
        };
    };
}
/**
 * Type Guard
 *
 * workspaces.WorkspaceDefinition or workspaces.ProjectDefinition: extensions?.schematics
 */
export declare function hasSchematicsStyle(extensions: any): extensions is IProjectSchematics;
/**
 * Check if the Project in workspaces.WorkspaceDefinition is of type application
 */
export declare function checkProjectIsApplication(workspace: workspaces.WorkspaceDefinition, projectName?: string): void;
interface IProjectSourceRoot extends workspaces.ProjectDefinition {
    sourceRoot: string;
}
export declare function checkProjectSourceRoot(project: workspaces.ProjectDefinition, context: SchematicContext): project is IProjectSourceRoot;
/**
 * Get the defaultProject from workspaces.WorkspaceDefinition if there is a defaultProject
 */
export declare function getDefaultProjectName(workspace: workspaces.WorkspaceDefinition): string | undefined;
/**
 * Returns projectName or the defaultProject
 */
export declare function getProjectName(workspace: workspaces.WorkspaceDefinition, projectName?: string): string | undefined;
/**
 * Get the Style extension of workspaces.ProjectDefinition or workspaces.WorkspaceDefinition or 'scss'
 */
export declare function getStyleExt(project: workspaces.ProjectDefinition, workspace: workspaces.WorkspaceDefinition, context: SchematicContext): string;
/**
 * Install node packages
 */
export declare function ruleInstallTask(): Rule;
export {};
