import React from "react";
import classes from "./index.module.css";
declare type ContainerProps = React.HTMLAttributes<HTMLDivElement>;
declare function Container({ children, ...props }: ContainerProps): JSX.Element;
declare namespace Container {
    var Input: ({ onFocus, onBlur, onChange, ...props }: InputProps) => JSX.Element;
    var List: ({ children, ...props }: ListProps) => JSX.Element | null;
    var ListItem: ({ children, value, onClick, onKeyDown, ...props }: ListItemProps) => JSX.Element;
}
declare type InputProps = React.HTMLAttributes<HTMLInputElement>;
declare type ListItemProps = Omit<React.HTMLAttributes<HTMLLIElement>, "children" | "onClick"> & {
    value: string;
    children: string;
    onClick?: (value: string) => void;
};
declare function ListItem({ children, value, onClick, onKeyDown, ...props }: ListItemProps): JSX.Element;
declare type ListProps = Omit<React.HTMLAttributes<HTMLUListElement>, "children"> & {
    children: React.ReactElement<ListItemProps, typeof ListItem> | Array<React.ReactElement<ListItemProps, typeof ListItem>>;
};
interface AutocompleteProps {
    options?: Array<{
        name: string;
        value: string;
        id: number;
    }>;
    onSearch?: (event: React.ChangeEvent<HTMLInputElement>) => Promise<void>;
    onOptionSelected?: ListItemProps["onClick"];
}
declare function Autocomplete({ options, onSearch, onOptionSelected, }: AutocompleteProps): JSX.Element;
export type { ContainerProps, InputProps, ListProps, ListItemProps, AutocompleteProps, };
export { Container as Autocomplete, classes };
export default Autocomplete;
