import { PropertyValueMap } from 'lit';
import { ShadowPartsController } from '../controllers/shadow-parts-controller';
import { UserOrAgentMinimalType } from '../types/users.types';
import { WeavySubTypeComponent } from '../classes/weavy-sub-type-component';
declare global {
    interface HTMLElementTagNameMap {
        "wy-user-card": WyUserCard;
    }
}
/**
 * Overlay profile card displaying detailed information about a user. The user can be followed/unfollowed.
 *
 * **Used sub components:**
 *
 * - [`<wy-overlay>`](./ui/wy-overlay.ts)
 * - [`<wy-button>`](./ui/wy-button.ts)
 * - [`<wy-container>`](./ui/wy-container.ts)
 * - [`<wy-avatar>`](./ui/wy-avatar.ts)
 * - [`<wy-avatar-header>`](./ui/wy-avatar.ts)
 *
 * @slot toggle - Content to use in a toggle button for the overlay.
 */
export declare class WyUserCard extends WeavySubTypeComponent {
    #private;
    static styles: import('lit').CSSResult[];
    /** @internal */
    protected exportParts: ShadowPartsController;
    /** User identifier to get profile details for. */
    uid?: string | number | null;
    /** User profile data */
    profile?: UserOrAgentMinimalType;
    /** Whether the overlay should be shown */
    show: boolean;
    /** Element to listen to `wy-user-profile` events on */
    listenTo?: EventTarget | null;
    /**
     * Follows the provided user/profile.
     * @param [follow=true] - Whether the user should be followed or not.
     */
    follow(follow?: boolean): void;
    handleUserAction: (e: Event) => void;
    protected willUpdate(changedProperties: PropertyValueMap<this>): Promise<void>;
    render(): import('../../node_modules/lit-html/node/lit-html.js').TemplateResult<1>;
    disconnectedCallback(): void;
}
//# sourceMappingURL=wy-user-card.d.ts.map