import type { SemVer } from 'semver';
export interface ReadOnlyFlowrAnalyzerMetaContext {
    /**
     * The name of this context.
     */
    readonly name: string;
    /**
     * Get the project name.
     */
    getProjectName(): string | undefined;
    /**
     * Get the project title.
     */
    getProjectTitle(): string | undefined;
    /**
     * Get the project version.
     */
    getProjectVersion(): SemVer & {
        str: string;
    } | undefined;
    /**
     * Get the project namespace.
     * Any symbol resolve like `a::b` will resolve against this, if `a` matches the namespace.
     */
    getNamespace(): string | undefined;
}
/**
 * This is the context responsible for managing the project metadata such as name, version, title, and namespace.
 *
 * If you are interested in inspecting this metadata, refer to {@link ReadOnlyFlowrAnalyzerMetaContext}.
 */
export declare class FlowrAnalyzerMetaContext implements ReadOnlyFlowrAnalyzerMetaContext {
    readonly name = "flowr-analyzer-meta-context";
    private projectName;
    private projectTitle;
    private projectVersion;
    private namespace;
    reset(): void;
    setProjectName(name: string): void;
    getProjectName(): string | undefined;
    setProjectTitle(title: string): void;
    getProjectTitle(): string | undefined;
    setProjectVersion(version: SemVer & {
        str: string;
    }): void;
    getProjectVersion(): SemVer & {
        str: string;
    } | undefined;
    setNamespace(namespace: string): void;
    getNamespace(): string | undefined;
}
