import { ReactNode } from 'react';
import { ButtonProps } from '@parlor/ui/button';
import { AsyncSelect, Option, SelectActions } from '../../helpers';
type SearchSelectorActions<T extends Option> = {
    inputValue: string;
    onBack: () => void;
    parent: T;
} & SelectActions<T>;
export type SearchSelectorWithButtonProps<T extends Option> = AsyncSelect<T> & {
    buttonProps?: ButtonProps;
    disabled?: boolean;
    onChange: (items?: T | null) => void;
    placeholderElement?: JSX.Element;
    renderMenuFooter?: (payload: SearchSelectorActions<T>) => JSX.Element;
    renderMenuHeader?: (payload: SearchSelectorActions<T>) => JSX.Element;
    renderSelectedItem?: (item: T, actions?: SearchSelectorActions<T>) => JSX.Element;
    suffix?: ReactNode;
    value?: T | null;
};
export declare const SearchSelectorWithButton: typeof SearchSelectorInnerWithButton;
declare function SearchSelectorInnerWithButton<T extends Option>({ renderSelectedItem, renderOption: renderOptionOuter, renderMenuFooter, renderMenuHeader, onChange, onBlur, loadOptions, menuWidth, menuPlacement, menuIsWithArrow, placeholder, value, emptyState, formRef, valueContainerWrapper, disabled, buttonProps, placeholderElement, portalElement, }: SearchSelectorWithButtonProps<T>): JSX.Element;
export {};
