<!-- API Report Version: 2.3 -->

## API Report File for "@atlaskit/smart-card"

> Do not edit this file. This report is auto-generated using
> [API Extractor](https://api-extractor.com/).
> [Learn more about API reports](https://hello.atlassian.net/wiki/spaces/UR/pages/1825484529/Package+API+Reports)

### Table of contents

- [Main Entry Types](#main-entry-types)
- [Peer Dependencies](#peer-dependencies)

### Main Entry Types

<!--SECTION START: Main Entry Types-->

```ts
/// <reference types="react" />

import { APIError } from '@atlaskit/linking-common';
import { Appearance } from '@atlaskit/button/types';
import { BlockCardAdf } from '@atlaskit/linking-common';
import { CardAdf } from '@atlaskit/linking-common';
import { CardAppearance } from '@atlaskit/linking-common';
import { CardContext } from '@atlaskit/link-provider';
import { CardPlatform } from '@atlaskit/link-extractors';
import { CardType } from '@atlaskit/linking-common';
import { CardClient as Client } from '@atlaskit/link-provider';
import { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';
import { DatasourceAdf } from '@atlaskit/linking-common';
import { DatasourceAdfView } from '@atlaskit/linking-common';
import { EditorCardProvider } from '@atlaskit/link-provider';
import { editorCardProvider } from '@atlaskit/link-provider';
import { EmbedCardAdf } from '@atlaskit/linking-common';
import { ErrorInfo } from 'react';
import { GasPayload } from '@atlaskit/analytics-gas-types';
import { InlineCardAdf } from '@atlaskit/linking-common';
import { JsonLd } from '@atlaskit/json-ld-types';
import { MessageDescriptor } from 'react-intl';
import { SmartCardProvider as Provider } from '@atlaskit/link-provider';
import { ProviderProps } from '@atlaskit/link-provider';
import { default as React_2 } from 'react';
import { ReactChild } from 'react';
import { Ref } from 'react';
import { SerializedStyles } from '@emotion/react';
import { SmartCardContext } from '@atlaskit/link-provider';
import { SmartLinkActionType } from '@atlaskit/linking-types';
import { WithAnalyticsEventsProps } from '@atlaskit/analytics-next';
import { WithContextProps } from '@atlaskit/analytics-next';
import { WithIntlProps } from 'react-intl';
import { WrappedComponentProps } from 'react-intl';

// @public (undocumented)
export type ActionItem = CustomActionItem | NamedActionItem | NamedDataActionItem;

// @public
export enum ActionName {
	// (undocumented)
	CustomAction = 'CustomAction',
	// (undocumented)
	DeleteAction = 'DeleteAction',
	// (undocumented)
	DownloadAction = 'DownloadAction',
	// (undocumented)
	EditAction = 'EditAction',
	// (undocumented)
	FollowAction = 'FollowAction',
	// (undocumented)
	PreviewAction = 'PreviewAction',
	// (undocumented)
	ViewAction = 'ViewAction',
}

// @public (undocumented)
type ActionProps = {
	size?: SmartLinkSize;
	content?: React.ReactNode;
	appearance?: Appearance;
	onClick: () => any;
	icon?: ReactChild;
	iconPosition?: 'after' | 'before';
	tooltipMessage?: React.ReactNode;
	asDropDownItem?: boolean;
	overrideCss?: SerializedStyles;
	testId?: string;
	isDisabled?: boolean;
};

// @public (undocumented)
export type AnalyticsAction =
	| 'authStarted'
	| 'chunkLoadFailed'
	| 'clicked'
	| 'closed'
	| 'connectFailed'
	| 'connectSucceeded'
	| 'connected'
	| 'created'
	| 'dismissed'
	| 'dwelled'
	| 'failed'
	| 'focused'
	| 'inserted'
	| 'loaded'
	| 'renderFailed'
	| 'renderSuccess'
	| 'renderWithStatus'
	| 'resolved'
	| 'started'
	| 'success'
	| 'unresolved'
	| 'updated'
	| 'viewed';

// @public (undocumented)
export type AnalyticsActionSubject =
	| 'applicationAccount'
	| 'button'
	| 'consentModal'
	| 'embedPreviewModal'
	| 'hoverCard'
	| 'link'
	| 'modal'
	| 'relatedLinks'
	| 'smartLink'
	| 'smartLinkAction'
	| 'smartLinkIframe'
	| 'smartLinkQuickAction';

// @public (undocumented)
type AnalyticsFacade = ReturnType<typeof useSmartLinkAnalytics>;

// @public (undocumented)
export type AnalyticsHandler = (event: AnalyticsPayload) => void;

// @public (undocumented)
type AnalyticsName = 'embedPreviewModal';

// @public (undocumented)
export type AnalyticsPayload = GasPayload & {
	action?: AnalyticsAction;
	actionSubject: AnalyticsActionSubject;
	attributes: GasPayload['attributes'] & {
		display?: CardInnerAppearance;
	};
};

// @public (undocumented)
type AnchorTarget = '_blank' | '_parent' | '_self' | '_top';

export { APIError };

// @public
type AssignedTo = {
	name: ElementName.AssignedTo;
};

// @public
type AssignedToGroup = {
	name: ElementName.AssignedToGroup;
	showNamePrefix?: boolean;
	showFallbackAvatar?: boolean;
};

// @public
type AttachmentCount = {
	name: ElementName.AttachmentCount;
};

// @public
type AuthorGroup = {
	name: ElementName.AuthorGroup;
	showNamePrefix?: boolean;
};

// @public
type BaseActionItem = {
	hideContent?: boolean;
	hideIcon?: boolean;
	name: ActionName;
	onClick: () => any;
	overrideCss?: SerializedStyles;
	size?: SmartLinkSize;
	testId?: string;
	isDisabled?: boolean;
};

// @public
type BaseDataActionItem = {
	hideContent?: boolean;
	hideIcon?: boolean;
	name: ActionName;
	onClick?: () => any;
	overrideCss?: SerializedStyles;
	size?: SmartLinkSize;
	testId?: string;
	isDisabled?: boolean;
};

export { BlockCardAdf };

// @public (undocumented)
export const blockCardContentClassName = 'block-card-content';

// @public (undocumented)
export const blockCardContentHeaderClassName = 'block-card-content-header';

// @public (undocumented)
export const blockCardContentHeaderNameClassName = 'block-card-content-header-name';

// @public (undocumented)
export const blockCardErroredViewClassName = 'block-card-errored-view';

// @public (undocumented)
export const blockCardForbiddenViewClassName = 'block-card-forbidden-view';

// @public (undocumented)
export const blockCardForbiddenViewLinkClassName = 'block-card-forbidden-view-link';

// @public (undocumented)
export const blockCardIconImageClassName = 'block-card-icon-image';

// @public (undocumented)
export const blockCardNotFoundViewClassName = 'block-card-not-found-view';

// @public (undocumented)
export const blockCardResolvedViewByClassName = 'block-card-resolved-view-by';

// @public (undocumented)
export const blockCardResolvedViewClassName = 'block-card-resolved-view';

// @public (undocumented)
export const blockCardResolvingViewClassName = 'block-card-resolving-view';

// @public (undocumented)
type BlockProps = {
	direction?: SmartLinkDirection;
	overrideCss?: SerializedStyles;
	size?: SmartLinkSize;
	status?: SmartLinkStatus;
	testId?: string;
	blockRef?: Ref<HTMLDivElement>;
	onRender?: () => void;
	onTransitionEnd?: () => void;
};

// @public (undocumented)
export const Card: React_2.ForwardRefExoticComponent<
	Pick<
		Omit<
			React_2.PropsWithChildren<WithIntlProps<CardProps & WrappedComponentProps<'intl'>>>,
			keyof WithAnalyticsEventsProps
		> &
			React_2.RefAttributes<any> &
			WithContextProps,
		| 'analyticsContext'
		| 'analyticsEvents'
		| 'appearance'
		| 'children'
		| 'container'
		| 'data'
		| 'embedIframeRef'
		| 'embedIframeUrlType'
		| 'fallbackComponent'
		| 'forwardedRef'
		| 'frameStyle'
		| 'id'
		| 'importer'
		| 'inheritDimensions'
		| 'inlinePreloaderStyle'
		| 'isFrameVisible'
		| 'isSelected'
		| 'key'
		| 'onClick'
		| 'onError'
		| 'onResolve'
		| 'placeholder'
		| 'platform'
		| 'showActions'
		| 'showAuthTooltip'
		| 'showHoverPreview'
		| 'showServerActions'
		| 'testId'
		| 'ui'
		| 'url'
	> &
		React_2.RefAttributes<any>
>;

export { CardAdf };

export { CardAppearance };

export { CardContext };

// @public (undocumented)
type CardInnerAppearance = 'embedPreview' | 'flexible' | 'hoverCardPreview' | CardAppearance;

export { CardPlatform };

// @public (undocumented)
export interface CardProps extends WithAnalyticsEventsProps {
	// @deprecated (undocumented)
	analyticsEvents?: AnalyticsFacade;
	// (undocumented)
	appearance: CardAppearance;
	// (undocumented)
	children?: React.ReactNode;
	// (undocumented)
	container?: HTMLElement;
	// @deprecated (undocumented)
	data?: any;
	// (undocumented)
	embedIframeRef?: React.Ref<HTMLIFrameElement>;
	// (undocumented)
	embedIframeUrlType?: EmbedIframeUrlType;
	fallbackComponent?: React.ComponentType;
	frameStyle?: FrameStyle;
	// (undocumented)
	id?: string;
	// (undocumented)
	importer?: (target: any) => void;
	inheritDimensions?: boolean;
	// (undocumented)
	inlinePreloaderStyle?: InlinePreloaderStyle;
	// @deprecated (undocumented)
	isFrameVisible?: boolean;
	// (undocumented)
	isSelected?: boolean;
	// (undocumented)
	onClick?: React.EventHandler<React.KeyboardEvent | React.MouseEvent>;
	onError?: OnErrorCallback;
	// (undocumented)
	onResolve?: OnResolveCallback;
	// (undocumented)
	placeholder?: string;
	// (undocumented)
	platform?: CardPlatform;
	showActions?: boolean;
	// (undocumented)
	showAuthTooltip?: boolean;
	// (undocumented)
	showHoverPreview?: boolean;
	showServerActions?: boolean;
	// (undocumented)
	testId?: string;
	// (undocumented)
	ui?: FlexibleUiOptions;
	// (undocumented)
	url?: string;
}

export { CardType };

// @public
type ChecklistProgress = {
	name: ElementName.ChecklistProgress;
};

export { Client };

// @public
type CollaboratorGroup = {
	name: ElementName.CollaboratorGroup;
};

// @public
type CommentCount = {
	name: ElementName.CommentCount;
};

// @public (undocumented)
interface CommonEventProps {
	// (undocumented)
	definitionId?: string;
	// (undocumented)
	destinatinoObjectType?: string;
	// (undocumented)
	destinationProduct?: DestinationProduct | string;
	// (undocumented)
	destinationSubproduct?: DestinationSubproduct | string;
	// (undocumented)
	extensionKey?: string;
	// (undocumented)
	id?: string;
	// (undocumented)
	location?: string;
	// (undocumented)
	resourceType?: string;
	// (undocumented)
	statusDetails?: string;
}

// @public (undocumented)
type ConnectFailedEventProps = CommonEventProps & {
	id?: string;
	reason?: string;
};

// @public (undocumented)
type ConnectSucceededEventProps = CommonEventProps & {
	id?: string;
};

// @public (undocumented)
export const contentFooterClassName = 'smart-link-content-footer';

// @public
type CreatedBy = {
	name: ElementName.CreatedBy;
};

// @public
type CreatedOn = {
	name: ElementName.CreatedOn;
	text?: string;
};

// @public
type CustomActionItem = BaseActionItem & {
	name: ActionName.CustomAction;
} & (
		| ((Required<Pick<ActionProps, 'content'>> & Pick<ActionProps, 'icon' | 'iconPosition'>) &
				Pick<ActionProps, 'tooltipMessage'>)
		| (Required<Pick<ActionProps, 'icon' | 'iconPosition'>> & Pick<ActionProps, 'content'>)
	);

// @internal
export const CustomBlock: React_2.FC<BlockProps>;

export { DatasourceAdf };

export { DatasourceAdfView };

// @public (undocumented)
type DestinationProduct = 'bitbucket' | 'confluence' | 'jira' | 'trello';

// @public (undocumented)
type DestinationSubproduct = 'core' | 'servicedesk' | 'software';

// @public
type DueOn = {
	name: ElementName.DueOn;
};

export { EditorCardProvider };

export { editorCardProvider };

// @public
export type ElementItem = {
	overrideCss?: SerializedStyles;
	size?: SmartLinkSize;
	testId?: string;
} & ElementItemProps;

// @public
type ElementItemProps =
	| AssignedTo
	| AssignedToGroup
	| AttachmentCount
	| AuthorGroup
	| ChecklistProgress
	| CollaboratorGroup
	| CommentCount
	| CreatedBy
	| CreatedOn
	| DueOn
	| LatestCommit
	| LinkIcon
	| Location_2
	| ModifiedBy
	| ModifiedOn
	| OwnedBy
	| OwnedByGroup
	| Preview
	| Priority
	| ProgrammingLanguage
	| Provider_2
	| ReactCount
	| ReadTime
	| SentOn
	| Snippet
	| SourceBranch
	| State_2
	| StoryPoints
	| SubTasksProgress
	| SubscriberCount
	| TargetBranch
	| Title
	| ViewCount
	| VoteCount;

// @public
export enum ElementName {
	// (undocumented)
	AssignedTo = 'AssignedTo',
	// (undocumented)
	AssignedToGroup = 'AssignedToGroup',
	// (undocumented)
	AttachmentCount = 'AttachmentCount',
	// (undocumented)
	AuthorGroup = 'AuthorGroup',
	// (undocumented)
	ChecklistProgress = 'ChecklistProgress',
	// (undocumented)
	CollaboratorGroup = 'CollaboratorGroup',
	// (undocumented)
	CommentCount = 'CommentCount',
	// (undocumented)
	CreatedBy = 'CreatedBy',
	// (undocumented)
	CreatedOn = 'CreatedOn',
	// (undocumented)
	DueOn = 'DueOn',
	// (undocumented)
	LatestCommit = 'LatestCommit',
	// (undocumented)
	LinkIcon = 'LinkIcon',
	// (undocumented)
	Location = 'Location',
	// (undocumented)
	ModifiedBy = 'ModifiedBy',
	// (undocumented)
	ModifiedOn = 'ModifiedOn',
	// (undocumented)
	OwnedBy = 'OwnedBy',
	// (undocumented)
	OwnedByGroup = 'OwnedByGroup',
	// (undocumented)
	Preview = 'Preview',
	// (undocumented)
	Priority = 'Priority',
	// (undocumented)
	ProgrammingLanguage = 'ProgrammingLanguage',
	// (undocumented)
	Provider = 'Provider',
	// (undocumented)
	ReactCount = 'ReactCount',
	// (undocumented)
	ReadTime = 'ReadTime',
	// (undocumented)
	SentOn = 'SentOn',
	// (undocumented)
	Snippet = 'Snippet',
	// (undocumented)
	SourceBranch = 'SourceBranch',
	// (undocumented)
	State = 'State',
	// (undocumented)
	StoryPoints = 'StoryPoints',
	// (undocumented)
	SubscriberCount = 'SubscriberCount',
	// (undocumented)
	SubTasksProgress = 'SubTasksProgress',
	// (undocumented)
	TargetBranch = 'TargetBranch',
	// (undocumented)
	Title = 'Title',
	// (undocumented)
	ViewCount = 'ViewCount',
	// (undocumented)
	VoteCount = 'VoteCount',
}

export { EmbedCardAdf };

// @public (undocumented)
export const embedHeaderHeight = 32;

// @public (undocumented)
type EmbedIframeUrlType = 'href' | 'interactiveHref';

// @public (undocumented)
export class EmbedResizeMessageListener extends React_2.Component<Props, State> {
	// (undocumented)
	componentDidMount(): void;
	// (undocumented)
	componentWillUnmount(): void;
	// (undocumented)
	render(): React_2.ReactNode;
}

// @public (undocumented)
type ErrorCardType = 'errored' | 'fallback' | 'forbidden' | 'not_found' | 'unauthorized';

// @public (undocumented)
type FlexibleUiOptions = {
	clickableContainer?: boolean;
	hideElevation?: boolean;
	hideHoverCardPreviewButton?: boolean;
	hidePadding?: boolean;
	hideBackground?: boolean;
	size?: SmartLinkSize;
	theme?: SmartLinkTheme;
	zIndex?: number;
};

// @public
export const FooterBlock: React_2.FC<FooterBlockProps>;

// @public (undocumented)
type FooterBlockProps = {
	actions?: ActionItem[];
	onActionMenuOpenChange?: (options: OnActionMenuOpenChangeOptions) => void;
} & BlockProps;

// @public (undocumented)
type FrameStyle = 'hide' | 'show' | 'showOnHover';

export { InlineCardAdf };

// @public (undocumented)
type InlinePreloaderStyle = 'on-left-with-skeleton' | 'on-right-without-skeleton';

// @public (undocumented)
type InstrumentEventProps = CommonEventProps & {
	error?: APIError;
	status: CardType;
	id: string;
};

// @public (undocumented)
type InvokeFailedEventProps = CommonEventProps & {
	id?: string;
	actionType: string;
	display?: CardInnerAppearance;
	reason: string;
};

// @public (undocumented)
type InvokeSucceededEventProps = CommonEventProps & {
	id?: string;
	actionType: string;
	display?: CardInnerAppearance;
};

// @public (undocumented)
type InvokeType = 'client' | 'server';

// @public
type LatestCommit = {
	name: ElementName.LatestCommit;
};

// @public
type LinkIcon = {
	name: ElementName.LinkIcon;
};

// @public (undocumented)
export const loadingPlaceholderClassName = 'smart-link-loading-placeholder';

// @public
type Location_2 = {
	name: ElementName.Location;
};

// @public (undocumented)
export enum MediaPlacement {
	// (undocumented)
	Left = 'left',
	// (undocumented)
	Right = 'right',
}

// @public
export const MetadataBlock: React_2.FC<MetadataBlockProps>;

// @public (undocumented)
type MetadataBlockProps = {
	maxLines?: number;
	primary?: ElementItem[];
	secondary?: ElementItem[];
} & BlockProps;

// @public (undocumented)
export const metadataListClassName = 'smart-link-metadata-list';

// @public
type ModifiedBy = {
	name: ElementName.ModifiedBy;
};

// @public
type ModifiedOn = {
	name: ElementName.ModifiedOn;
	text?: string;
};

// @public
type NamedActionItem = BaseActionItem & {
	name: ActionName.DeleteAction | ActionName.EditAction;
};

// @public
type NamedDataActionItem = BaseDataActionItem & {
	name:
		| ActionName.DownloadAction
		| ActionName.FollowAction
		| ActionName.PreviewAction
		| ActionName.ViewAction;
};

// @public (undocumented)
export type OnActionMenuOpenChangeOptions = {
	isOpen: boolean;
};

// @public (undocumented)
type OnErrorCallback = (data: {
	status: Extract<CardType, ErrorCardType>;
	url: string;
	err?: Error;
}) => void;

// @public (undocumented)
type OnResolveCallback = (data: { url?: string; title?: string; aspectRatio?: number }) => void;

// @public
type OwnedBy = {
	name: ElementName.OwnedBy;
};

// @public
type OwnedByGroup = {
	name: ElementName.OwnedByGroup;
	showNamePrefix?: boolean;
};

// @public
type Preview = {
	name: ElementName.Preview;
};

// @public
export const PreviewBlock: React_2.FC<PreviewBlockProps>;

// @public (undocumented)
type PreviewBlockProps = {
	ignoreContainerPadding?: boolean;
	onError?: () => void;
	placement?: MediaPlacement;
	overrideUrl?: string;
} & BlockProps;

// @public (undocumented)
type PreviewDisplay = 'card' | 'embed';

// @public (undocumented)
type PreviewInvokeMethod = 'keyboard' | 'mouse_click' | 'mouse_hover';

// @public
type Priority = {
	name: ElementName.Priority;
};

// @public
type ProgrammingLanguage = {
	name: ElementName.ProgrammingLanguage;
};

// @public (undocumented)
interface Props {
	// (undocumented)
	embedIframeRef: React_2.RefObject<HTMLIFrameElement>;
	// (undocumented)
	onHeightUpdate: (height: number) => void;
}

export { Provider };

// @public
type Provider_2 = {
	name: ElementName.Provider;
};

export { ProviderProps };

// @public
type ReactCount = {
	name: ElementName.ReactCount;
};

// @public
type ReadTime = {
	name: ElementName.ReadTime;
};

// @public (undocumented)
export type ResolveResponse = JsonLd.Response;

// @public
type RetryOptions = {
	descriptor?: MessageDescriptor;
	onClick?: ((e: React.MouseEvent<HTMLElement>) => void) | undefined;
	values?: Record<string, string>;
};

// @public (undocumented)
type ScreenAuthPopupEventProps = CommonEventProps;

// @public
type SentOn = {
	name: ElementName.SentOn;
};

export { SmartCardContext as Context };
export { SmartCardContext };

// @public
export enum SmartLinkDirection {
	// (undocumented)
	Horizontal = 'horizontal',
	// (undocumented)
	Vertical = 'vertical',
}

// @public (undocumented)
export class SmartLinkEvents {
	// (undocumented)
	insertSmartLink(
		url: string,
		type: CardInnerAppearance,
		createAnalyticsEvent?: CreateUIAnalyticsEvent,
	): void;
}

// @public
export enum SmartLinkPosition {
	// (undocumented)
	Center = 'center',
	// (undocumented)
	Top = 'top',
}

// @public
export enum SmartLinkSize {
	// (undocumented)
	Large = 'large',
	// (undocumented)
	Medium = 'medium',
	// (undocumented)
	Small = 'small',
	// (undocumented)
	XLarge = 'xlarge',
}

// @public
enum SmartLinkStatus {
	// (undocumented)
	Errored = 'errored',
	// (undocumented)
	Fallback = 'fallback',
	// (undocumented)
	Forbidden = 'forbidden',
	// (undocumented)
	NotFound = 'not_found',
	// (undocumented)
	Pending = 'pending',
	// (undocumented)
	Resolved = 'resolved',
	// (undocumented)
	Resolving = 'resolving',
	// (undocumented)
	Unauthorized = 'unauthorized',
}

// @public
export enum SmartLinkTheme {
	// (undocumented)
	Black = 'black',
	// (undocumented)
	Link = 'link',
}

// @public
type Snippet = {
	name: ElementName.Snippet;
};

// @public
export const SnippetBlock: React_2.FC<SnippetBlockProps>;

// @public (undocumented)
type SnippetBlockProps = {
	maxLines?: number;
	text?: string;
} & BlockProps;

// @public
type SourceBranch = {
	name: ElementName.SourceBranch;
};

// @public (undocumented)
interface State {}

// @public
type State_2 = {
	name: ElementName.State;
};

// @public
type StoryPoints = {
	name: ElementName.StoryPoints;
};

// @public
type SubscriberCount = {
	name: ElementName.SubscriberCount;
};

// @public
type SubTasksProgress = {
	name: ElementName.SubTasksProgress;
};

// @public
type TargetBranch = {
	name: ElementName.TargetBranch;
};

// @public
type Title = {
	name: ElementName.Title;
};

// @public
export const TitleBlock: React_2.FC<TitleBlockProps>;

// @public (undocumented)
type TitleBlockProps = {
	actions?: ActionItem[];
	anchorTarget?: AnchorTarget;
	hideTitleTooltip?: boolean;
	maxLines?: number;
	metadata?: ElementItem[];
	onActionMenuOpenChange?: (options: OnActionMenuOpenChangeOptions) => void;
	position?: SmartLinkPosition;
	onClick?: React_2.EventHandler<React_2.KeyboardEvent | React_2.MouseEvent>;
	retry?: RetryOptions;
	hideRetry?: boolean;
	showActionOnHover?: boolean;
	subtitle?: ElementItem[];
	text?: string;
	theme?: SmartLinkTheme;
	metadataPosition?: SmartLinkPosition;
	hideIcon?: boolean;
} & BlockProps;

// @public (undocumented)
type TrackAppAccountConnectedProps = CommonEventProps;

// @public (undocumented)
enum TrackQuickActionFailureReason {
	// (undocumented)
	PermissionError = 'PermissionError',
	// (undocumented)
	UnknownError = 'UnknownError',
	// (undocumented)
	ValidationError = 'ValidationError',
}

// @public (undocumented)
enum TrackQuickActionType {
	// (undocumented)
	StatusUpdate = 'StatusUpdate',
}

// @public (undocumented)
type UiActionClickedEventProps = CommonEventProps & {
	id?: string;
	display?: CardInnerAppearance;
	actionType: string;
	invokeType?: InvokeType;
};

// @public (undocumented)
type UiAuthAlternateAccountEventProps = CommonEventProps & {
	display: CardInnerAppearance;
};

// @public (undocumented)
type UiAuthEventProps = CommonEventProps & {
	display: CardInnerAppearance;
};

// @public (undocumented)
type UiCardClickedEventProps = CommonEventProps & {
	id: string;
	display: CardInnerAppearance;
	status: CardType;
	isModifierKeyPressed?: boolean;
	actionSubjectId?: string;
};

// @public (undocumented)
type UiClosedAuthEventProps = CommonEventProps & {
	display: CardInnerAppearance;
};

// @public (undocumented)
type UiHoverCardDismissedEventProps = CommonEventProps & {
	previewDisplay: PreviewDisplay;
	hoverTime: number;
	previewInvokeMethod?: PreviewInvokeMethod;
	status: CardType;
};

// @public (undocumented)
type UiHoverCardOpenLinkClickedEventProps = CommonEventProps & {
	previewDisplay: PreviewDisplay;
	previewInvokeMethod?: PreviewInvokeMethod;
};

// @public (undocumented)
type UiHoverCardViewedEventProps = CommonEventProps & {
	previewDisplay: PreviewDisplay;
	previewInvokeMethod?: PreviewInvokeMethod;
	status: CardType;
};

// @public (undocumented)
type UiIframeDwelledEventProps = CommonEventProps & {
	id: string;
	display: CardInnerAppearance;
	status: CardType;
	dwellTime: number;
	dwellPercentVisible: number;
};

// @public (undocumented)
type UiIframeFocusedEventProps = CommonEventProps & {
	id: string;
	display: CardInnerAppearance;
	status: CardType;
};

// @public (undocumented)
type UiRenderFailedEventProps = CommonEventProps & {
	display: CardInnerAppearance;
	error: Error;
	errorInfo: ErrorInfo;
};

// @public (undocumented)
type UiRenderSuccessEventProps = CommonEventProps & {
	display: CardInnerAppearance;
	status: CardType;
	canBeDatasource?: boolean;
};

// @public (undocumented)
type UiServerActionClickedEventProps = CommonEventProps & {
	smartLinkActionType: SmartLinkActionType;
};

// @public @deprecated
export const useSmartLinkAnalytics: (
	url: string,
	_dispatchAnalytics?: AnalyticsHandler,
	id?: string,
	defaultLocation?: string,
) => {
	ui: {
		authEvent: ({
			display,
			extensionKey,
			definitionId,
			resourceType,
			destinationProduct,
			destinationSubproduct,
			location,
		}: UiAuthEventProps) => void;
		authAlternateAccountEvent: ({
			display,
			extensionKey,
			definitionId,
			resourceType,
			destinationProduct,
			destinationSubproduct,
			location,
		}: UiAuthAlternateAccountEventProps) => void;
		buttonClickedEvent: (
			data: Partial<AnalyticsPayload> & {
				actionSubjectId: Required<string>;
			},
		) => void;
		cardClickedEvent: ({
			id,
			display,
			status,
			definitionId,
			extensionKey,
			isModifierKeyPressed,
			location,
			destinationProduct,
			destinationSubproduct,
			actionSubjectId,
		}: UiCardClickedEventProps) => void;
		iframeDwelledEvent: ({
			id,
			display,
			status,
			definitionId,
			extensionKey,
			location,
			destinationProduct,
			destinationSubproduct,
			dwellTime,
			dwellPercentVisible,
		}: UiIframeDwelledEventProps) => void;
		iframeFocusedEvent: ({
			id,
			display,
			status,
			definitionId,
			extensionKey,
			location,
			destinationProduct,
			destinationSubproduct,
		}: UiIframeFocusedEventProps) => void;
		actionClickedEvent: ({
			id,
			actionType,
			display,
			extensionKey: overrideExtensionKey,
			definitionId,
			resourceType,
			destinationProduct,
			destinationSubproduct,
			location,
		}: UiActionClickedEventProps) => void;
		hoverCardOpenLinkClickedEvent: ({
			previewDisplay,
			definitionId,
			extensionKey,
			destinationProduct,
			destinationSubproduct,
			location,
			previewInvokeMethod,
		}: UiHoverCardOpenLinkClickedEventProps) => void;
		closedAuthEvent: ({
			display,
			extensionKey,
			definitionId,
			resourceType,
			destinationProduct,
			destinationSubproduct,
			location,
		}: UiClosedAuthEventProps) => void;
		modalClosedEvent: (
			data: Partial<AnalyticsPayload> & {
				actionSubjectId: Required<string>;
			},
		) => void;
		renderSuccessEvent: ({
			display,
			status,
			id,
			extensionKey,
			definitionId,
			resourceType,
			destinationProduct,
			destinationSubproduct,
			location,
			canBeDatasource,
		}: UiRenderSuccessEventProps) => void;
		renderFailedEvent: ({
			display,
			id,
			error,
			errorInfo,
			extensionKey,
			definitionId,
			resourceType,
			destinationProduct,
			destinationSubproduct,
			location,
		}: UiRenderFailedEventProps) => void;
		hoverCardViewedEvent: ({
			previewDisplay,
			previewInvokeMethod,
			id,
			extensionKey,
			definitionId,
			resourceType,
			destinationProduct,
			destinationSubproduct,
			location,
			status,
		}: UiHoverCardViewedEventProps) => void;
		hoverCardDismissedEvent: ({
			id,
			previewDisplay,
			hoverTime,
			previewInvokeMethod,
			extensionKey,
			definitionId,
			resourceType,
			destinationProduct,
			destinationSubproduct,
			location,
			status,
		}: UiHoverCardDismissedEventProps) => void;
		learnMoreClickedEvent: () => void;
		smartLinkLozengeActionClickedEvent: () => void;
		smartLinkLozengeActionListItemClickedEvent: () => void;
		smartLinkLozengeActionErrorOpenPreviewClickedEvent: () => void;
		smartLinkServerActionClickedEvent: (props: UiServerActionClickedEventProps) => void;
	};
	operational: {
		invokeSucceededEvent: ({
			id,
			actionType,
			display,
			extensionKey,
			definitionId,
			resourceType,
			destinationProduct,
			destinationSubproduct,
			location,
		}: InvokeSucceededEventProps) => void;
		invokeFailedEvent: ({
			id,
			actionType,
			display,
			reason,
			extensionKey,
			definitionId,
			resourceType,
			destinationProduct,
			destinationSubproduct,
			location,
		}: InvokeFailedEventProps) => void;
		connectSucceededEvent: ({
			id,
			extensionKey,
			definitionId,
			resourceType,
			destinationProduct,
			destinationSubproduct,
			location,
		}: ConnectSucceededEventProps) => void;
		connectFailedEvent: ({
			id,
			reason,
			extensionKey,
			definitionId,
			resourceType,
			destinationProduct,
			destinationSubproduct,
			location,
		}: ConnectFailedEventProps) => void;
		instrument: ({
			id,
			status,
			extensionKey,
			definitionId,
			resourceType,
			destinationProduct,
			destinationSubproduct,
			location,
			error,
		}: InstrumentEventProps) => void;
		chunkloadFailedEvent: ({
			display,
			error,
			errorInfo,
			extensionKey,
			definitionId,
			resourceType,
			destinationProduct,
			destinationSubproduct,
			location,
		}: UiRenderFailedEventProps) => void;
	};
	track: {
		appAccountConnected: ({
			extensionKey,
			definitionId,
			resourceType,
			destinationProduct,
			destinationSubproduct,
			location,
		}: TrackAppAccountConnectedProps) => void;
		appAccountAuthStarted: ({ extensionKey, location }: TrackAppAccountConnectedProps) => void;
		linkUpdated: () => void;
		smartLinkQuickActionStarted: (props: {
			smartLinkActionType: SmartLinkActionType | TrackQuickActionType;
		}) => void;
		smartLinkQuickActionSuccess: (props: {
			smartLinkActionType: SmartLinkActionType | TrackQuickActionType;
		}) => void;
		smartLinkQuickActionFailed: (props: {
			smartLinkActionType: SmartLinkActionType | TrackQuickActionType;
			reason?: TrackQuickActionFailureReason;
			step?: string;
		}) => void;
		hoverCardResolutionStarted: () => void;
	};
	screen: {
		authPopupEvent: ({
			extensionKey,
			definitionId,
			resourceType,
			destinationProduct,
			destinationSubproduct,
			location,
		}: ScreenAuthPopupEventProps) => void;
		modalViewedEvent: (
			data: Partial<AnalyticsPayload> & {
				name: Extract<AnalyticsName, 'embedPreviewModal'>;
			},
		) => void;
	};
};

// @public (undocumented)
export function useSmartLinkEvents(): SmartLinkEvents;

// @public
type ViewCount = {
	name: ElementName.ViewCount;
};

// @public
type VoteCount = {
	name: ElementName.VoteCount;
};

// (No @packageDocumentation comment for this package)
```

<!--SECTION END: Main Entry Types-->

### Peer Dependencies

<!--SECTION START: Peer Dependencies-->

```json
{
	"@atlaskit/link-provider": "^1.6.4",
	"react": "^16.8.0",
	"react-dom": "^16.8.0",
	"react-intl": "npm:react-intl@^5.18.1"
}
```

<!--SECTION END: Peer Dependencies-->
