const $lib: TypeSpecLibrary<{
"arm-common-types-incompatible-version": {
default: CallableMessage<["selectedVersion", "supportedVersions"]>;
"arm-common-types-invalid-version": {
default: CallableMessage<["versionString", "supportedVersions"]>;
"arm-resource-circular-ancestry": {
default: "There is a loop in the ancestry of this resource. Please ensure that the `@parentResource` decorator contains the correct parent resource, and that parentage contains no cycles.";
"arm-resource-duplicate-base-parameter": {
default: "Only one base parameter type is allowed per resource. Each resource may have only one of `@parentResource`, `@resourceGroupResource`, `@tenantResource`, `@locationResource`, or `@subscriptionResource` decorators.";
"arm-resource-invalid-base-type": {
default: "The @armResourceInternal decorator can only be used on a type that ultimately extends TrackedResource, ProxyResource, or ExtensionResource.";
"arm-resource-invalid-metadata-name": {
default: CallableMessage<["kind", "name"]>;
"arm-resource-missing": {
default: CallableMessage<["type"]>;
"arm-resource-missing-arm-namespace": {
default: "The @armProviderNamespace decorator must be used to define the ARM namespace of the service. This is best applied to the file-level namespace.";
"arm-resource-missing-name-key-decorator": {
default: "Resource type 'name' property must have a @key decorator which defines its key name.";
"arm-resource-missing-name-property": {
default: "Resource types must include a string property called 'name'.";
"arm-resource-missing-name-segment-decorator": {
default: "Resource type 'name' property must have a @segment decorator which defines its path fragment.";
"arm-resource-service-duplicate": {
default: CallableMessage<["namespace"]>;
"arm-resource-service-not-arm": {
default: CallableMessage<["namespace"]>;
"arm-resource-service-options-conflict": {
default: "The 'version' and 'serviceVersions' options cannot be used together.";
"arm-resource-service-version-invalid": {
default: CallableMessage<["version", "namespace"]>;
"arm-resource-service-version-mismatch": {
default: CallableMessage<["version", "versionNamespace", "selectedNamespace"]>;
"arm-resource-service-versions-empty": {
default: "At least one ARM service version must be selected.";
"arm-resource-version-not-found": {
default: CallableMessage<["version", "availableVersions"]>;
"arm-resource-version-not-supported": {
default: CallableMessage<["version"]>;
"arm-resource-version-projection-failed": {
default: CallableMessage<["version"]>;
"arm-resource-version-transient": {
default: CallableMessage<["version"]>;
"basetypes-experimental": {
default: "Azure Resource Manager BaseTypes are experimental and may be subject to breaking changes.";
"decorator-in-namespace": {
default: CallableMessage<["decoratorName"]>;
"decorator-param-wrong-type": {
armIdentifiersIncorrectEntity: "The @identifiers decorator must be applied to a property that is an array of objects";
armIdentifiersProperties: "The @identifiers decorator expects a parameter that is an array of strings or an empty array.";
armUpdateProviderNamespace: "The parameter to @armUpdateProviderNamespace must be an operation with a 'provider' parameter.";
"invalid-feature-file-version": {
default: "The version in @featureFileOptions must not be empty or contain only whitespace.";
"invalid-parameter-rename": {
missing: CallableMessage<["oldName"]>;
notpath: CallableMessage<["oldName"]>;
overwrite: CallableMessage<["oldName", "newName", "newName"]>;
"invalid-version-for-common-type": {
default: CallableMessage<["version", "resourceName", "requiredVersion"]>;
default: "This type is meant for conversion of legacy service APIs. This type should not be used in new service APIs.";
notResourceType: CallableMessage<["parent", "type"]>;
"resource-without-path-and-segment": {
default: "Resource types must have a property with '@path` and '@segment' decorators.";
"resource-without-provider-namespace": {
default: CallableMessage<["resourceName"]>;
"template-type-constraint-no-met": {
default: CallableMessage<["sourceType", "entity", "constraintType", "actionMessage"]>;
}, Record<string, any>, never>;