import { ProjectType, Tree } from '@nx/devkit';
import { XmlDocument } from 'xmldoc';
import { DotNetClient, KnownDotnetTemplates } from '@nx-dotnet/dotnet';
import { NxDotnetProjectGeneratorSchema } from '../../models';
export interface NormalizedSchema extends Omit<NxDotnetProjectGeneratorSchema, 'template'> {
    projectName: string;
    projectRoot: string;
    projectDirectory: string;
    projectLanguage: string;
    projectTemplate: KnownDotnetTemplates;
    parsedTags: string[];
    className: string;
    namespaceName: string;
    nxProjectName: string;
    projectType?: ProjectType;
    args: string[];
    __unparsed__: string[];
}
export declare function normalizeOptions(host: Tree, options: NxDotnetProjectGeneratorSchema, client?: DotNetClient, projectType?: ProjectType): Promise<NormalizedSchema>;
/**
 * Filter out common directory names that are not typically part of the namespace.
 */
export declare const FILTERED_PATH_PARTS: Set<string>;
export declare function getNamespaceFromRoot(host: Tree, projectDirectory: string): string;
export declare function getProjectTagsFromSchema(options: {
    tags?: string;
}): string[];
export declare function getProjectRootFromSchema(host: Tree, options: NxDotnetProjectGeneratorSchema, projectDirectory: string, projectType?: string): string;
export declare function GenerateProject(host: Tree, options: NxDotnetProjectGeneratorSchema, dotnetClient: DotNetClient, projectType: ProjectType): Promise<() => Promise<void>>;
export declare function addPrebuildMsbuildTask(host: Tree, options: {
    projectRoot: string;
    projectName: string;
}, xml: XmlDocument): void;
