import * as React from "react"; import { INodeLinkImmutable, INodeLinkOptions, NodeType } from "@ef-carbon/dom"; import { Url, UrlAccepted } from "@ef-carbon/primitive"; import { IExtension, INode } from "../INode"; import IBaseProps from "../IProps"; export interface IProps extends INodeLinkOptions, IBaseProps { } export interface IState { } export declare type Handler = (url: Url, ...matches: Array) => Promise; export declare type Handlers = Map; export declare type OpenUrl = (url: Url) => Promise; export declare function linkOpenUrl(url: UrlAccepted): Promise; export declare type BadUrl = (url: Url, error: Error) => void; export declare function linkBadUrl(url: UrlAccepted, error: Error): void; declare class Link extends React.PureComponent implements INodeLinkImmutable { static readonly handlers: Handlers; static openUrl: OpenUrl; static badUrl: BadUrl; private child; constructor(props: IProps); componentDidUpdate({ theme: prev, node: last }: IProps): void; render(): React.ReactNode; readonly type: NodeType.Link; readonly url: Url; readonly node: INode; private readonly handlePress; private readonly handleLongPress; } export interface IStatic extends React.ComponentClass { } declare const component: IStatic; export { component as Component }; export default Link;