import { NxMavenPluginOptions } from '@jnxplus/common';
import { InputDefinition } from 'nx/src/config/workspace-json-project-json';
interface PropertyType {
    key: string;
    value: string;
}
export interface MavenProjectType {
    artifactId: string;
    groupId: string;
    version: string;
    isRootProject: boolean;
    isPomPackaging: boolean;
    projectRoot: string;
    projectAbsolutePath: string;
    dependencies: (string | undefined)[];
    profileDependencies: (string | undefined)[];
    pluginDependencies: (string | undefined)[];
    parentProjectArtifactId?: string;
    aggregatorProjectArtifactId?: string;
    properties: PropertyType[];
    skipProject: boolean;
}
export interface WorkspaceDataType {
    mavenRootDirAbsolutePath: string;
    targetDefaults: string[];
    localRepo: string;
    projects: MavenProjectType[];
}
export declare function getWorkspaceData(opts: NxMavenPluginOptions | undefined): WorkspaceDataType;
export declare function getCachedWorkspaceData(): WorkspaceDataType;
export declare function removeWorkspaceDataCache(): void;
export declare function addProjects(skipProjectWithoutProjectJson: boolean, mavenRootDirAbsolutePath: string, projects: MavenProjectType[], projectRelativePath: string, aggregatorProjectArtifactId?: string): void;
export declare function getEffectiveVersion(project: MavenProjectType, workspaceData: WorkspaceDataType): string;
export declare function validateTargetInputs(targetName: string, file: 'nx.json' | 'project.json', inputs: (string | InputDefinition)[] | undefined): void;
export declare function getProject(projects: MavenProjectType[], artifactId: string): MavenProjectType;
export declare function getOutputDirLocalRepo(localRepositoryPath: string, groupId: string, artifactId: string, projectVersion: string): string;
export declare function getTask(isRootProject: boolean): "install -N" | "install";
export declare function ifOutputDirLocalRepoNotPresent(options: any): boolean;
export {};
