import { CSSResult } from 'lit';
import { LitElement } from 'lit';
import { TemplateResult } from 'lit-html';

export declare class AvatarComponent extends PlusBase {
    image: string;
    alt: string;
    shape: "circle" | "square";
    size: Plus.Sizes | string;
    color: string;
    icon: string;
    invert: boolean;
    text?: string;
    isSizeLargeEnough(): boolean;
    getText(): string;
    customSize(): boolean;
    sizeValue(): any;
    isFallback: boolean;
    render(): TemplateResult;
}

declare namespace Plus {
    enum Sizes {
        xs = "xs",
        sm = "sm",
        md = "md",
        lg = "lg",
        xl = "xl",
        custom = "custom"
    }
}

declare abstract class PlusBase extends LitElement {
    static styles: CSSResult[];
    id: string;
    name: string;
    value: string | number;
    disabled: boolean;
    readonly: boolean;
    required: boolean;
    loading: boolean;
    title: string;
    emit(name: string, options?: CustomEventInit): CustomEvent<any>;
}

export { }
