import { DemoData } from "../../global/demo";
import { ShareLinkViewProps } from "./sqm-share-link-view";
/**
 * @uiName Share Link
 * @exampleGroup Sharing
 * @validParents ["sqm-portal-container", "sqm-titled-section", "div","sqm-hero","sqm-referral-card","sqm-instant-access-registration","sqb-program-section","sqb-conditional-section"]
 * @example Share Link - <sqm-share-link tooltip-text="Copied to Clipboard" tooltip-lifespan="1000"></sqm-share-link>
 */
export declare class ShareLink {
  /**
   * The ID of the program that should generate the link. Defaults to the program ID in context where this widget is loaded.
   *
   * @uiName Program ID
   * @uiWidget programSelector
   */
  programId?: string;
  /**
   * Shown inside a tooltip after someone has successfully copied the link to their clipboard
   *
   * @uiName Tooltip text
   */
  tooltiptext: string;
  /**
   * The number of milliseconds that the tooltip appears for
   *
   * @uiName Tooltip lifespan
   */
  tooltiplifespan: number;
  /**
   * Change the text alignment
   *
   * @uiName Share link alignment
   * @uiType string
   * @uiEnum ["left", "center", "right"]
   * @uiEnumNames ["Left", "Center", "Right"]
   * @uiGroup Style
   */
  textAlign?: "left" | "center" | "right";
  /**
   * @uiName Copy button label
   */
  copyButtonLabel: string;
  /**
   * Background color of share link container
   * @uiName Background color
   * @uiWidget color
   * @format color
   * @uiGroup Style
   */
  backgroundColor?: string;
  /**
   * Border color of share link container
   * @uiName Border color
   * @uiWidget color
   * @format color
   * @uiGroup Style
   */
  borderColor?: string;
  /**
   * Color of the text and copy icon
   * @uiName Text color
   * @uiWidget color
   * @format color
   * @uiGroup Style
   */
  textColor?: string;
  /**
   * The border radius on the share link container (in pixels)
   * @uiName Border Radius
   * @uiType number
   * @uiGroup Style
   */
  borderRadius?: string;
  /**
   * The type of the button that is used (primary or secondary).
   * @uiName Button Type
   * @uiType string
   * @uiEnum ["primary", "secondary"]
   * @uiEnumNames ["Primary", "Secondary"]
   * @uiGroup Style
   */
  buttonType?: "primary" | "secondary";
  /**
   * Set the copy button style and placement
   *
   * @uiName Button style
   * @uiType string
   * @uiEnum ["icon", "button-outside", "button-below"]
   * @uiEnumNames ["Icon", "Button outside", "Button below"]
   * @uiGroup Style
   */
  buttonStyle?: "icon" | "button-outside" | "button-below";
  /**
   * Let advocates customize their share links up to 5 times.
   *
   * @uiName Allow customization
   * @uiType boolean
   * @uiGroup Customizable Vanity Link
   * @uiWidget CustomLinkSwitch
   * @requiredFlavor impact
   */
  allowCustomization?: boolean;
  /**
   * Text for the cancel button in editing mode
   *
   * @uiName Cancel button label
   * @uiType string
   * @uiGroup Customizable Vanity Link
   * @requiredFlavor impact
   */
  cancelLabelText?: string;
  /**
   * Tooltip text shown when link customization is disabled
   *
   * @uiName Customize disabled tooltip
   * @uiType string
   * @uiGroup Customizable Vanity Link
   * @requiredFlavor impact
   */
  customizeDisabledTooltip?: string;
  /**
   * Displayed below the share link.
   *
   * @uiName Customize link button label
   * @uiType string
   * @uiGroup Customizable Vanity Link
   * @requiredFlavor impact
   */
  customizeLinkButtonLabel?: string;
  /**
   * Message shown when the URL has been edited 5 times. To display a clickable link, use {supportLink} as a placeholder.
   *
   * @uiName Edit limit reached text
   * @uiType string
   * @uiWidget textarea
   * @uiGroup Customizable Vanity Link
   * @requiredFlavor impact
   */
  editLimitReachedText?: string;
  /**
   * Subtext shown while the user is customizing their URL.
   *
   * @uiName Edit limit text
   * @uiType string
   * @uiGroup Customizable Vanity Link
   * @requiredFlavor impact
   */
  editLimitText?: string;
  /**
   * Description text shown when the link contains invalid special characters.
   *
   * @uiName Invalid characters error description
   * @uiType string
   * @uiWidget textarea
   * @uiGroup Customizable Vanity Link
   * @requiredFlavor impact
   */
  invalidCharactersErrorDescription?: string;
  /**
   * Title of the error message shown when the link contains invalid special characters.
   *
   * @uiName Invalid characters error title
   * @uiType string
   * @uiGroup Customizable Vanity Link
   * @requiredFlavor impact
   */
  invalidCharactersErrorTitle?: string;
  /**
   * Description text shown when the link has already been taken
   *
   * @uiName Link taken error message
   * @uiType string
   * @uiWidget textarea
   * @uiGroup Customizable Vanity Link
   * @requiredFlavor impact
   */
  linkTakenErrorDescription?: string;
  /**
   * Title of the error message shown when the link has already been taken
   *
   * @uiName Link taken error title
   * @uiType string
   * @uiGroup Customizable Vanity Link
   * @requiredFlavor impact
   */
  linkTakenErrorTitle?: string;
  /**
   * Description text shown when the link contains profanity or brand names.
   *
   * @uiName Restricted words error description
   * @uiType string
   * @uiWidget textarea
   * @uiGroup Customizable Vanity Link
   * @requiredFlavor impact
   */
  restrictedWordsErrorDescription?: string;
  /**
   * Title of the error message shown when the link contains profanity or brand names.
   *
   * @uiName Restricted words error title
   * @uiType string
   * @uiGroup Customizable Vanity Link
   * @requiredFlavor impact
   */
  restrictedWordsErrorTitle?: string;
  /**
   * Text for the save button in editing mode
   *
   * @uiName Save button label
   * @uiType string
   * @uiGroup Customizable Vanity Link
   * @requiredFlavor impact
   */
  saveLabelText?: string;
  /**
   * Text for the save button while saving is in progress
   *
   * @uiName Saving button label
   * @uiType string
   * @uiGroup Customizable Vanity Link
   * @requiredFlavor impact
   */
  savingLabelText?: string;
  /**
   * Label shown above the link input while editing
   *
   * @uiName Edit input label
   * @uiType string
   * @uiGroup Customizable Vanity Link
   * @requiredFlavor impact
   */
  editLabelText?: string;
  /**
   * Text shown when nearing the character limit. Use {charactersRemaining} as a placeholder for the count.
   *
   * @uiName Characters remaining text
   * @uiType string
   * @uiGroup Customizable Vanity Link
   * @requiredFlavor impact
   */
  charactersRemainingText?: string;
  /**
   * Text shown while the link is being validated
   *
   * @uiName Validating label
   * @uiType string
   * @uiGroup Customizable Vanity Link
   * @requiredFlavor impact
   */
  validatingLabelText?: string;
  /**
   * @uiName Min characters text
   * @uiType string
   * @uiGroup Customizable Vanity Link
   * @requiredFlavor impact
   */
  minCharactersText?: string;
  /**
   * Display text for the support link in the edit limit reached message
   *
   * @uiName Support link text
   * @uiType string
   * @uiGroup Customizable Vanity Link
   * @requiredFlavor impact
   */
  supportLinkText?: string;
  /**
   * Title shown when saving fails with an unknown error
   *
   * @uiName Save error title
   * @uiType string
   * @uiGroup Customizable Vanity Link
   * @requiredFlavor impact
   */
  saveErrorTitle?: string;
  /**
   * Description shown when saving fails with an unknown error
   *
   * @uiName Save error description
   * @uiType string
   * @uiWidget textarea
   * @uiGroup Customizable Vanity Link
   * @requiredFlavor impact
   */
  saveErrorDescription?: string;
  /**
   * @undocumented
   * @uiType object
   */
  demoData?: DemoData<ShareLinkViewProps>;
  constructor();
  disconnectedCallback(): void;
  render(): any;
}
