import { SvelteComponentTyped } from "svelte";

export type CarbonTagSetContext = {
  undefined: any;
};

export type TagSetOverflowProps = {
  /**
   * Obtain a reference to the indicator's HTML element, so the parent can
   * measure its natural width for the fit calculation.
   * @default null
   */
  triggerRef?: null | HTMLSpanElement;

  /**
   * @default 0
   */
  count?: number;

  /**
   * @default []
   */
  tags?: import("./TagSet.svelte").TagSetItem[];

  /**
   * @default "center"
   */
  overflowAlign?: "start" | "center" | "end";

  /**
   * @default "bottom"
   */
  overflowDirection?: "top" | "bottom";

  /**
   * @default undefined
   */
  size?: "sm" | "default" | "lg" | undefined;

  /** Override the tooltip content. */
  tooltip?: (this: void, ...args: [{
        tags: import("./TagSet.svelte").TagSetItem[];
        count: number
      }]) => void;
};

export default class TagSetOverflow extends SvelteComponentTyped<
  TagSetOverflowProps,
  {
    /** The indicator was clicked. */
    trigger: CustomEvent<null>;
  },
  {
    /** Override the tooltip content. */
    tooltip: {
      tags: import("./TagSet.svelte").TagSetItem[];
      count: number
    };
  }
> {}
