import React from 'react';
import { AdditionalSearchField, SearchResult } from './SearchBox';
export type AdditionalReviewerColumn = {
    title: string;
    dataIndex: string;
};
export type Reviewer = {
    id: string;
    email?: string;
    displayName: string;
    invited?: boolean;
    acceptedInvitation?: boolean;
    rejectedInvitation?: boolean;
    invitationRevoked?: boolean;
    reviewSubmitted?: boolean;
    [key: string]: unknown;
};
type AssignReviewersProps = {
    additionalReviewerColumns?: AdditionalReviewerColumn[];
    additionalSearchFields?: AdditionalSearchField[];
    amountOfReviewers: number;
    automate: boolean;
    canInviteMore: boolean;
    canDismissReviewer?: boolean;
    className?: string;
    onAddReviewers: (ids: string[]) => Promise<void>;
    onAmountOfReviewersChange: (value: number | string | null) => void;
    onAutomationChange: (checked: boolean) => void;
    onClickInvite: (id: string) => Promise<void>;
    onClickRemoveRow: (id: string) => Promise<void>;
    onClickRevokeInvitation: (id: string) => Promise<void>;
    onSearch: (value: string) => Promise<SearchResult[]>;
    onTableChange: (data: Reviewer[]) => void;
    reviewerPool?: Reviewer[];
    searchPlaceholder?: string;
    suggestedReviewerName?: string;
    useShowEmail?: boolean;
};
declare const AssignReviewers: ({ additionalReviewerColumns, additionalSearchFields, amountOfReviewers, automate, canInviteMore, canDismissReviewer, className, onAddReviewers, onAmountOfReviewersChange, onAutomationChange, onClickInvite, onClickRemoveRow, onClickRevokeInvitation, onSearch, onTableChange, reviewerPool, searchPlaceholder, suggestedReviewerName, useShowEmail, }: AssignReviewersProps) => React.ReactNode;
export default AssignReviewers;
