import React from 'react';
import { UseSelectReturnValue } from '@mui/base/useSelect';
type UseMuiSelectReturnValue = UseSelectReturnValue<string, boolean>;
type GetButtonProps = UseMuiSelectReturnValue['getButtonProps'];
type GetOptionMetadata = UseMuiSelectReturnValue['getOptionMetadata'];
type Value = UseMuiSelectReturnValue['value'];
type UseSelectProps = {
    children: React.ReactNode;
    getButtonProps: GetButtonProps;
    getOptionMetadata: GetOptionMetadata;
    value?: Value;
};
declare function SelectProvider({ children, getButtonProps, getOptionMetadata, value }: UseSelectProps): React.JSX.Element;
declare function useSelect(): {
    getButtonProps: <OtherHandlers extends import("@mui/base").EventHandlers = {}>(otherHandlers?: OtherHandlers | undefined) => import("@mui/base/useSelect").UseSelectButtonSlotProps<OtherHandlers>;
    getOptionMetadata: (optionValue: string) => import("@mui/base").SelectOption<string> | undefined;
    value?: string | string[] | null | undefined;
};
export { SelectProvider, useSelect };
export type { UseSelectProps };
