@azure-tools/typespec-azure-resource-manager
Version:
TypeSpec Azure Resource Manager library
40 lines • 2.47 kB
TypeScript
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 {DecoratorContext} context DecoratorContext 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