import { LitElement, nothing } from 'lit';
import { MemberType } from '../../types/members.types';
import { UserType } from '../../types/users.types';
import { PresenceType } from '../../types/presence.types';
import { ShadowPartsController } from '../../controllers/shadow-parts-controller';
declare global {
    interface HTMLElementTagNameMap {
        "wy-avatar": WyAvatar;
        "wy-avatar-group": WyAvatarGroup;
        "wy-avatar-header": WyAvatarHeader;
    }
}
/**
 * Base component to render an avatar. If no `src` is provided, it uses `name` to construct an avatar from initials.
 *
 * **Used sub components**
 *
 * - [`<wy-presence>`](./wy-presence.ts)
 * - [`<wy-icon>`](./wy-icon.ts)
 *
 * @csspart wy-avatar - The avatar component itself.
 * @csspart wy-avatar-shape - The general styling shape for the avatar.
 * @csspart wy-avatar-img - Any provided avatar image.
 * @csspart wy-avatar-initials - Avatar initials when no avatar image is provided.
 * @csspart wy-avatar-initials-text - The text for avatar initials.
 * @csspart wy-avatar-type-icon - Type overlay icon.
 * @csspart wy-avatar-presence - Presence indicator.
 * @csspart wy-presence-mask - Masking for presence indicator.
 */
export declare class WyAvatar extends LitElement {
    static styles: import('lit').CSSResult[];
    protected exportParts: ShadowPartsController;
    /**
     * The size of the avatar in pixels. The pixels are translated to rem size with a base of 16px/rem.
     */
    size: number;
    /**
     * Source URL string for the avatar image.
     */
    src?: string;
    /**
     * Name for the avatar. Used as title and for generating initials when `src` is not provided.
     */
    name?: string;
    /**
     * Description for the avatar. This is appended to the title.
     */
    description?: string;
    /**
     * Whether the avatar represents an agent.
     */
    isAgent?: boolean;
    /**
     * Presence status for the avatar.
     */
    presence?: PresenceType;
    render(): import('../../../node_modules/lit-html/node/lit-html.js').TemplateResult<1>;
}
/**
 * Group of two or more avatars displayed together.
 *
 * ## Used sub components
 *
 * - [`<wy-avatar>`](./wy-avatar.ts)
 *
 * @csspart wy-avatar-back - The avatar in the back
 * @csspart wy-avatar-front - The avatar in the front
 * @csspart wy-avatar-back-mask-bg - Background for the back avatar mask.
 * @csspart wy-avatar-back-mask - Cutout mask for the back avatar.
 */
export declare class WyAvatarGroup extends LitElement {
    static styles: import('lit').CSSResult[];
    protected exportParts: ShadowPartsController;
    /**
     * The overall size of the avatar group
     */
    size: number;
    /**
     * Array of members that can be shown.
     */
    members?: MemberType[];
    /**
     * The current user.
     * @internal
     */
    user: UserType | undefined;
    protected uniqueId: string;
    render(): typeof nothing | import('../../../node_modules/lit-html/node/lit-html.js').TemplateResult<1>[];
}
/**
 * Wrapper for displaying a description under an avatar.
 *
 * @slot Standard slot for any avatar to display.
 * @csspart wy-avatar-header - The avatar header component itself
 * @csspart wy-avatar-description
 */
export declare class WyAvatarHeader extends LitElement {
    static styles: import('lit').CSSResult[];
    protected exportParts: ShadowPartsController;
    /**
     * Any description to display.
     */
    description?: string;
    protected render(): import('../../../node_modules/lit-html/node/lit-html.js').TemplateResult<1>;
}
//# sourceMappingURL=wy-avatar.d.ts.map