export declare class EzTileMedium {
  _element: HTMLElement;
  private _button;
  /**
   * Define a cor tema do componente.
   */
  color: "default" | "green" | "gray" | "red" | "yellow";
  /**
 * Define o ícone a ser usado da biblioteca de ícones: [ez-icons](https://gilded-nasturtium-6b64dd.netlify.app/docs/components/layout-doc/icons/)
 */
  iconName?: string;
  /**
   * Define uma cor customizada para o ícone, dentro da paleta de cores do Design System.
   * Exemplo: "--color--yellow-600"
   */
  iconColor?: string;
  /**
   * Texto a ser apresentado como um título pequeno do componente.
   */
  smallTitleText?: string;
  /**
   * Define a quantidade máxima de linhas de texto a serem apresentadas no título pequeno.
   * Quando a propriedade não é passada, limita a 1 linha.
   */
  smallTitleMaximumLines?: number;
  /**
   * Texto a ser apresentado como título do componente.
   */
  titleText?: string;
  /**
   * Define a quantidade máxima de linhas de texto a serem apresentadas no título.
   * Quando a propriedade não é passada, limita a 1 linha.
   */
  titleMaximumLines?: number;
  /**
   * Texto a ser apresentado como descrição do componente
   */
  descriptionText?: string;
  /**
   * Define a quantidade máxima de linhas de texto a serem apresentadas na descrição.
   * Quando a propriedade não é passada, limita a 3 linhas.
   */
  descriptionMaximumLines?: number;
  /**
   * Define a altura do componente, sobrescrevendo o padrão de 257px.
   */
  height?: string;
  /**
   * Define a largura do componente, sobrescrevendo o padrão de 446px.
   */
  width?: string;
  /**
   * Propriedade utilizada para configurar o avatar, se definida substitui o ícone por um ez-avatar
   */
  avatarProps?: {
    name?: string;
    imageSrc?: string;
    shape?: 'circle' | 'square';
  };
  /**
   * Define as props que serão passadas para o botão, caso o objeto seja passado, o botão será renderizado.
   */
  buttonProps?: {
    label: string;
    enabled?: boolean;
    mode?: 'regular' | 'icon' | 'link' | 'label-icon';
    iconName?: string;
    size?: 'x-small' | 'small' | 'medium' | 'large';
    onClick: () => void;
    colors?: {
      background?: string;
      backgroundHover?: string;
      backgroundActive?: string;
      text?: string;
      textHover?: string;
      textActive?: string;
    };
  };
  /**
   * Define as props que serão passadas para as tags, caso um objeto seja passado, a(s) tag(s) será renderizada(s), se limitando a 3 tags.
   */
  tags?: {
    label: string;
    color?: string;
  }[];
  /**
   * Aplica o foco no botão.
   */
  setButtonFocus(): Promise<void>;
  /**
   * Remove o foco do botão.
   */
  setButtonBlur(): Promise<void>;
  private renderBadges;
  private setCustomCSSProperties;
  componentDidLoad(): void;
  render(): any;
}
