import { Interface, Namespace, Program } from "@typespec/compiler"; import { MsGraphEnum } from "./enum.js"; import { MsGraphModel } from "./model.js"; import { EntitySet, Singleton } from "./entity-container.js"; import { MsGraphOperation } from "./operation.js"; import { CollectionAnnotations, ResourceAnnotations, AllowedValuesAnnotations } from "./annotations.js"; import { MsGraphTerm } from "./term.js"; export declare const DEFAULT_MSGRAPH_NAMESPACE = "microsoft.graph"; export interface MsGraphNamespace { Name: string; Alias?: string; Enums: MsGraphEnum[]; Models: Map; AgsAttributes: Record; Singletons: Map; EntitySets: Map; Operations: MsGraphOperation[]; ResourceAnnotations: Map; CollectionAnnotations: Map; AllowedValuesAnnotations: Map; Terms: MsGraphTerm[]; Source: Namespace; key?: string; Container?: string; } export declare enum NamespacesExcludedFromHavingEntityContainers { library = 0, merged = 1 } export declare const usedLibraryTypesKey: unique symbol; export declare const usedStandardEntityBaseTypeKey: unique symbol; export declare const usedStandardEntityNavigationTypeKey: unique symbol; export declare const usedDictionaryTypeKey: unique symbol; export declare const modelsOrderingKey: unique symbol; export declare function GetDeclaredNamespaces(program: Program): Namespace[]; /** * Like GetDeclaredNamespaces but excludes any namespace whose full name starts with "reference." * Use this in all linting rules so the reference library types are never walked by the linter. */ export declare function getDeclaredNamespacesForLinting(program: Program): Namespace[]; /** * Returns the namespaces inside the "reference" subtree (e.g. reference.microsoft.graph and its children). * Used by rules such as validateRestatedMembersOfSharedEntityMatchesReferenceLibrary that need to * look up types defined in the reference library without going through the full namespace walk. */ export declare function getReferenceLibraryNamespaces(program: Program): Namespace[]; export declare function GetMsGraphNamespaces(program: Program): MsGraphNamespace[]; export declare enum NamespaceType { Public = 0, Workload = 1, SubNamespace = 2, Unknown = 3 } export declare function expandNamespaces(namespace: Namespace): Namespace[]; export declare function getNavigationSources(interfaces: Map): Map; //# sourceMappingURL=namespace.d.ts.map