/*!
 * Copyright (C) Microsoft Corporation. All rights reserved.
 */
/** Converts an arbitrary string to a safe TypeScript identifier for use in generated code. */
export declare function convertToValidIdentifier(variableOrInterfaceName: string): string;
/** Sanitizes a raw string to a valid TypeScript identifier, for use when generating type and variable names. */
export declare function sanitizeName(name: string, removeWhitespace?: boolean, prefixReservedKeywords?: boolean): string;
/** Sanitizes a property name for use in a TypeScript interface, without prefixing reserved keywords. */
export declare function sanitizePropertyName(name: string): string;
/** Returns a unique sanitized name, appending a numeric suffix to avoid collisions with existing names. */
export declare function getSanitizedUniqueName(existingNames: string[], desiredName: string): string;
/** Normalizes a type name containing generic bracket syntax into a form suitable as a TypeScript identifier. */
export declare function normalizeGenericTypeName(typeName: string): string;
/**
 * Extracts a clean identifier from a potentially schema-qualified resource name,
 * for use in generated TypeScript identifiers.
 *
 * Handles bracket-qualified names used by SQL, Oracle, and other tabular connectors
 * (e.g. `[dbo].[TableName]` or `[OWNER].[TABLE_NAME]`), as well as plain names.
 * Always takes the last segment after the final dot, strips brackets, then sanitizes.
 */
export declare function sanitizeTabularResourceName(name: string): string;
/** Returns the data source name accessor for the given model's service class. */
export declare function getServiceName(modelName: string): string;
/** Applies well-known casing fixes to property names before they are emitted into generated types. */
export declare function normalizePropertyName(propertyName: string): string;
/** Converts a kebab-case string to camelCase (e.g., `common-models` → `commonModels`). */
export declare function kebabToCamelCase(name: string): string;
/** Wraps a property name in quotes when it cannot appear as a bare TypeScript identifier. */
export declare function formatPropertyName(propName: string): string;
/** Returns true if a property name can be used without quotes in a TypeScript type definition. */
export declare function isValidPropertyName(propName: string): boolean;
//# sourceMappingURL=nameUtils.d.ts.map