UNPKG

@azure-tools/typespec-azure-resource-manager

Version:

TypeSpec Azure Resource Manager library

40 lines 2.45 kB
import { Diagnostic, Enum, EnumMember, Model, ModelProperty, Namespace, Program, Service, Type, Union } from "@typespec/compiler"; import { ArmCommonTypesVersionDecorator } from "../generated-defs/Azure.ResourceManager.js"; import { ExternalTypeRefDecorator } from "../generated-defs/Azure.ResourceManager.Legacy.js"; import { ArmCommonTypeRecord } from "./commontypes.private.decorators.js"; export interface ArmCommonTypeVersions { type: Enum; allVersions: EnumMember[]; } export declare function getArmCommonTypesVersions(program: Program): ArmCommonTypeVersions; export declare function getArmCommonTypesVersionFromString(program: Program, entity: Namespace | EnumMember, versionStr: string): [EnumMember | undefined, readonly Diagnostic[]]; /** * Check if a given model or model property is an ARM common type. * @param {Type} entity - The entity to be checked. * @return {boolean} - A boolean value indicating whether an entity is an ARM common type. */ export declare function isArmCommonType(entity: Type): boolean; /** * `@armCommonTypesVersion` sets the ARM common-types version used by the service. * @param {DecoratorContext} context DecoratorContext object * @param {type} entity Target of the decorator. Must be `Namespace` or `EnumMember` type */ export declare const $armCommonTypesVersion: ArmCommonTypesVersionDecorator; /** * Returns the ARM common-types version used by the service. * @param {Program} program Program object * @param {type} entity Target of the decorator. Must be `Namespace` or `EnumMember` type */ export declare function getArmCommonTypesVersion(program: Program, entity: Namespace | EnumMember): string | undefined; /** * Get the common-types.json ref for the given common type. */ export declare function getArmCommonTypeOpenAPIRef(program: Program, entity: Model | ModelProperty | Enum | Union, params: ArmCommonTypesResolutionOptions): string | undefined; export interface ArmCommonTypesResolutionOptions { readonly service: Service; readonly version?: string; } export declare function findArmCommonTypeRecord(program: Program, entity: Model | ModelProperty | Enum | Union, params: ArmCommonTypesResolutionOptions): [ArmCommonTypeRecord | undefined, readonly Diagnostic[]]; export declare const $externalTypeRef: ExternalTypeRefDecorator; export declare function getExternalTypeRef(program: Program, entity: Type): string | undefined; //# sourceMappingURL=common-types.d.ts.map