import { MenuToggleElement } from '@patternfly/react-core';
import { ReactNode } from 'react';
import { PageSelectOption } from './PageSelectOption';
export interface PageSingleSelectProps<ValueT> {
    id?: string;
    icon?: ReactNode;
    placeholder: ReactNode;
    value: ValueT | undefined | null;
    onSelect: (value: ValueT | null) => void;
    options: PageSelectOption<ValueT>[];
    footer?: ReactNode;
    isRequired?: boolean;
    isDisabled?: string;
    open?: boolean;
    setOpen?: (open: boolean) => void;
    searchValue?: string;
    setSearchValue?: (searchValue: string) => void;
    isLoading?: boolean;
    queryLabel?: (value: ValueT) => ReactNode;
    toggle?: (toggleRef: React.Ref<MenuToggleElement>) => ReactNode;
    disableAutoSelect?: boolean;
    disableSortOptions?: boolean;
    disableMaxDropdownWidth?: boolean;
}
export declare function PageSingleSelect<ValueT>(props: PageSingleSelectProps<ValueT>): import("react/jsx-runtime").JSX.Element;
export declare function PageSingleSelectList(props: {
    searchRef: React.RefObject<HTMLInputElement>;
    options: PageSelectOption<unknown>[];
}): import("react/jsx-runtime").JSX.Element;
export declare const PageSingleSelectContext: import("react").Context<{
    open: boolean;
    setOpen: (open: boolean) => void;
}>;
export declare function usePageSingleSelectContext(): {
    open: boolean;
    setOpen: (open: boolean) => void;
};
