import React from 'react';
import { ChildrenNode } from 'interweave';
export interface LinkProps {
    children: React.ReactNode;
    href: string;
    key?: number | string;
    newWindow?: boolean;
    onClick?: () => null | void;
}
export interface EmailProps extends Partial<LinkProps> {
    children: ChildrenNode;
    email: string;
    emailParts: {
        host: string;
        username: string;
    };
}
export interface HashtagProps extends Partial<LinkProps> {
    children: ChildrenNode;
    encodeHashtag?: boolean;
    hashtag: string;
    hashtagUrl?: string | ((hashtag: string) => string);
    preserveHash?: boolean;
}
export interface UrlProps extends Partial<LinkProps> {
    children: ChildrenNode;
    url: string;
    urlParts: {
        auth: string;
        fragment: string;
        host: string;
        path: string;
        port: number | string;
        query: string;
        scheme: string;
    };
}
export interface UrlMatcherOptions {
    customTLDs?: string[];
    validateTLD?: boolean;
}
export interface MentionProps extends Partial<LinkProps> {
    children: ChildrenNode;
    mention: string;
    mentionUrl: string | ((hashtag: string) => string);
}
//# sourceMappingURL=types.d.ts.map