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 -
* @csspart alert-title - The validation error title
* @csspart icon-button-base - The copy icon button base
* @csspart primarybutton-base - The primary button base
* @csspart secondarybutton-base - The secondary button base
*/
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;
constructor();
disconnectedCallback(): void;
render(): any;
}