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.";
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.";
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.";
notResourceType: CallableMessage<["parent", "type"]>;
resource-without-path-and-segment: {
default: "Resource types must have a property with '@path` and '@segment' decorators.";
default: "Only one @armProviderNamespace can be declared in a typespec spec at once.";
template-type-constraint-no-met: {
default: CallableMessage<["sourceType", "entity", "constraintType", "actionMessage"]>;