import { type KeyboardEvent } from "react";
import { type IWorkspaceUsersQueryOptions } from "@gooddata/sdk-backend-spi";
import { type IAutomationRecipient, type INotificationChannelIdentifier, type INotificationChannelMetadataObject } from "@gooddata/sdk-model";
import { type GoodDataSdkError } from "@gooddata/sdk-ui";
export interface IRecipientsSelectRendererProps {
    /**
     * Currently selected recipients.
     */
    value: IAutomationRecipient[];
    /**
     * Originally selected recipients of a edited schedule
     */
    originalValue: IAutomationRecipient[];
    /**
     * Recipients to display in the autocomplete.
     */
    options: IAutomationRecipient[];
    /**
     * Allow multiple recipients to select?
     */
    isMulti?: boolean;
    /**
     * Callback to be called, when recipients are changed.
     */
    onChange?: (selectedUsers: IAutomationRecipient[]) => void;
    /**
     * Callback to load autocomplete options.
     */
    onLoad?: (queryOptions?: IWorkspaceUsersQueryOptions) => void;
    /**
     * Show autocomplete loading indicator?
     */
    isLoading?: boolean;
    /**
     * Error occurred while loading users
     */
    usersError?: GoodDataSdkError;
    /**
     * Has user canListUsersInProject permission?
     */
    canListUsersInProject?: boolean;
    /**
     * Currently logged in user as a recipient
     */
    loggedUser?: IAutomationRecipient;
    /**
     * Allow to select only me as a recipient
     */
    allowOnlyLoggedUserRecipients?: boolean;
    /**
     * Allow to remove the last recipient
     */
    allowEmptySelection?: boolean;
    /**
     * Allow external recipients
     */
    allowExternalRecipients?: boolean;
    /**
     * Maximum number of recipients
     */
    maxRecipients?: number;
    /**
     * Additional class name
     */
    className?: string;
    /**
     * Notification channel
     */
    notificationChannel?: INotificationChannelIdentifier | INotificationChannelMetadataObject;
    /**
     * Show label?
     */
    showLabel?: boolean;
    /**
     * Id
     */
    id: string;
    /**
     * Handle keyboard submit
     */
    onKeyDownSubmit?: (e: KeyboardEvent) => void;
    /**
     * Override recipients with an external recipient
     */
    externalRecipientOverride?: string;
}
export declare const RecipientsSelectRenderer: import("react").NamedExoticComponent<IRecipientsSelectRendererProps>;
//# sourceMappingURL=RecipientsSelectRenderer.d.ts.map