import { ShareButtonViewProps } from "./sqm-share-button-view";
import { DemoData } from "../../global/demo";
/**
 * @uiName Share Button
 * @validParents ["sqm-portal-container","div","sqm-divided-layout","sqm-brand","template","sqm-hero","sqb-program-section","sqb-conditional-section"]
 * @slots [{"name":"", "title":"Button Content"}]
 * @slotEditor richText
 * @uiOrder ["medium", "program-id", "*", "pill", "disabled", "hideicon"]
 * @exampleGroup Sharing
 * @example Facebook Share Button - <sqm-share-button medium="facebook">Share on Facebook</sqm-share-button>
 * @example X Share Button - <sqm-share-button medium="twitter">Share via X</sqm-share-button>
 * @example Email Share Button - <sqm-share-button medium="email">Share via Email</sqm-share-button>
 * @example Mobile Share Sheet Button - <sqm-share-button medium="direct">Share</sqm-share-button>
 * @example LinkedIn Share Button - <sqm-share-button medium="linkedin">Share on LinkedIn</sqm-share-button>
 * @example SMS Share Button - <sqm-share-button medium="sms">Text a friend</sqm-share-button>
 * @example Messenger Share Button - <sqm-share-button medium="fbmessenger">Share via Messenger</sqm-share-button>
 * @example WhatsApp Share Button - <sqm-share-button medium="whatsapp">Share via WhatsApp</sqm-share-button>
 * @example LINE Share Button - <sqm-share-button medium="linemessenger">Share via Line Messenger</sqm-share-button>
 * @example Pinterest Share Button - <sqm-share-button medium="pinterest">Share on Pinterest</sqm-share-button>
 */
export declare class ShareButton {
  /**
   * The social medium to share on. Share messages and links
   * will be pulled from your program config and tagged for analytics.
   *
   * @uiName Share medium
   * @uiType string
   * @required
   * @uiEnum ["facebook", "twitter", "email", "direct", "linkedin", "sms", "fbmessenger", "whatsapp", "linemessenger", "pinterest" ]
   * @uiEnumNames ["Facebook", "X", "Email", "Web Share Sheet", "Linkedin", "SMS", "Facebook Messenger", "Whatsapp", "Line Messenger", "Pinterest"]
   */
  medium: "facebook" | "twitter" | "email" | "direct" | "linkedin" | "sms" | "fbmessenger" | "whatsapp" | "linemessenger" | "pinterest" | "reminder" | "unknown";
  /**
   * Optional programId, or uses the programId context where this button is rendered.
   *
   * @uiName Program ID
   * @uiWidget programSelector
   */
  programId?: string;
  /**
   * Configure border radius with pixel amount
   * @uiName Border radius
   * @uiGroup Style
   */
  borderradius?: number;
  /**
   * @uiName Button background color
   * @uiWidget color
   * @format color
   * @uiGroup Style
   */
  backgroundcolor?: string;
  /**
   * @uiName Border
   * @uiGroup Style
   */
  border?: string;
  /**
   * @uiName Button text color
   * @uiWidget color
   * @format color
   * @uiGroup Style
   */
  textcolor?: string;
  /**
   * @uiName Display pill
   * @uiGroup Style
   */
  pill?: boolean;
  /**
   * @uiName Disabled
   */
  disabled?: boolean;
  /**
   * @uiType string
   * @uiName Button style
   * @uiEnum ["primary", "secondary", "success", "info", "warning", "danger", "default", "text" ]
   * @uiEnumNames ["Primary", "Secondary", "Success", "Info", "Warning", "Danger", "Default", "Text"]
   */
  type?: "primary" | "secondary" | "success" | "info" | "warning" | "danger" | "default" | "text";
  /**
   * @uiName Button size
   * @uiType string
   * @uiEnum ["small", "medium", "large" ]
   * @uiEnumNames ["Small", "Medium", "Large"]
   * @uiGroup Style
   */
  size?: "small" | "medium" | "large";
  /**
   * @uiName Icon location
   * @uiType string
   * @uiEnum ["prefix", "suffix" ]
   * @uiEnumNames ["Prefix", "Suffix"]
   */
  iconslot?: "prefix" | "suffix";
  /**
   * Options available at https://shoelace.style/components/icon
   *
   * Icon used in button. Will try to select an icon based on the share medium if left empty.
   *
   * @uiName Icon
   */
  icon?: string;
  /**
   * @uiName Hide icon
   * @uiGroup Style
   * @default
   */
  hideicon?: boolean;
  /**
   * @uiName Hide text
   * @uiGroup Style
   * @default
   */
  hidetext?: boolean;
  /**
   * Title used for native sharing (mobile only)
   * @uiName Share title
   */
  sharetitle?: string;
  /**
   * Text used for native sharing (mobile only)
   * @uiName Share text
   */
  sharetext?: string;
  /**
   * Alert text shown if the share link is undefined
   * @uiName Undefined link text
   */
  undefinedLinkText?: string;
  /**
   * Alert text shown if the user's device does not support native sharing
   * @uiName Unsupported platform text
   */
  unsupportedPlatformText?: string;
  /**
   * @undocumented
   * @uiType object
   */
  demoData?: DemoData<ShareButtonViewProps>;
  constructor();
  disconnectedCallback(): void;
  render(): any;
}
