import { AvatarOptions } from "../types";
/**
 * Generates an SVG avatar based on the provided username and customization options.
 *
 * @param {string} username - The name or identifier used to generate the avatar.
 * @param {AvatarOptions} [options] - Optional customization settings for the avatar.
 * @param {number} [options.width=100] - Width of the avatar in pixels.
 * @param {number} [options.height=100] - Height of the avatar in pixels.
 * @param {string} [options.backgroundColor] - Background color of the avatar.
 *    If not provided, it is generated from the username hash.
 * @param {string} [options.textColor] - Color of the text in the avatar.
 *    If not provided, it is derived for proper contrast with the background color.
 * @param {string} [options.shape="square"] - Shape of the avatar background ("circle" or "square").
 * @param {number} [options.initialsLength=2] - Number of characters to use for the avatar's initials.
 * @param {string} [options.fontFamily="Arial, sans-serif"] - Font family for the text inside the avatar.
 * @param {number} [options.fontSize] - Font size for the text. If not provided,
 *    it is calculated based on the avatar dimensions.
 * @param {string} [options.text] - Custom text to display in the avatar. If not provided,
 *    initials are generated from the username.
 * @param {Object} [options.svgAttributes={}] - Additional attributes to add to the root SVG element.
 *
 * @return {string} The generated avatar SVG as a string.
 *
 * @example
 * // Generate a basic square avatar
 * const svg = generateAvatarSvg('johndoe');
 *
 * @example
 * // Generate a circular avatar with custom colors
 * const svg = generateAvatarSvg('janedoe', {
 *   shape: 'circle',
 *   backgroundColor: '#FF0000',
 *   textColor: '#FFFFFF'
 * });
 *
 * @example
 * // Generate an avatar with custom size and text
 * const svg = generateAvatarSvg('bobsmith', {
 *   width: 200,
 *   height: 200,
 *   text: 'BS',
 *   fontSize: 48,
 *   svgAttributes: { class: 'custom-avatar' }
 * });
 */
export declare function generateAvatarSvg(username: string, options?: AvatarOptions): string;
