/** @module @airtable/blocks/ui: CollaboratorToken */ /** */
import * as PropTypes from 'prop-types';
import * as React from 'react';
import { CollaboratorData } from '../types/collaborator';
import { FlexItemSetProps, PositionSetProps, MarginProps } from './system';
import { TooltipAnchorProps } from './types/tooltip_anchor_props';
/**
 * Style props for the {@link CollaboratorToken} component. Accepts:
 * * {@link FlexItemSetProps}
 * * {@link MarginProps}
 * * {@link PositionSetProps}
 *
 * @noInheritDoc
 */
interface CollaboratorTokenStyleProps extends FlexItemSetProps, PositionSetProps, MarginProps {
}
export declare const collaboratorTokenStylePropTypes: {
    [x: string]: PropTypes.Validator<any>;
};
/**
 * Props for the {@link CollaboratorToken} component. Also accepts:
 * * {@link CollaboratorTokenStyleProps}
 *
 * @noInheritDoc
 * @docsPath UI/components/CollaboratorToken
 */
interface CollaboratorTokenProps extends CollaboratorTokenStyleProps, TooltipAnchorProps {
    /** An object representing a collaborator. You should not create these objects from scratch, but should instead grab them from base data. */
    collaborator: Partial<CollaboratorData>;
    /** Additional class names to apply to the collaborator token. */
    className?: string;
    /** Additional styles to apply to the collaborator token. */
    style?: React.CSSProperties;
}
/**
 * A component that shows a single collaborator in a small token, to be displayed inline or in a list of choices.
 *
 * [[ Story id="collaboratortoken--example" title="Collaborator token example" ]]
 *
 * @component
 * @docsPath UI/components/CollaboratorToken
 */
declare const CollaboratorToken: {
    (props: CollaboratorTokenProps): JSX.Element;
    propTypes: {
        onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
        onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
        onClick: PropTypes.Requireable<(...args: any[]) => any>;
        hasOnClick: PropTypes.Requireable<boolean>;
        collaborator: PropTypes.Validator<PropTypes.InferProps<{
            id: PropTypes.Requireable<string>;
            email: PropTypes.Requireable<string>;
            name: PropTypes.Requireable<string>;
            profilePicUrl: PropTypes.Requireable<string>;
            status: PropTypes.Requireable<string>;
        }>>;
        className: PropTypes.Requireable<string>;
        style: PropTypes.Requireable<object>;
    };
    Static: (props: CollaboratorTokenProps & {
        isActive?: boolean | undefined;
    }) => JSX.Element;
};
export default CollaboratorToken;
