import { DataTypes, IdDefaultType } from "@etsoo/shared";
import React from "react";
import { ResponsiveStyleValue } from "./ResponsiveStyleValue";
import { GridSize } from "@mui/material/Grid";
import { AutocompleteChangeReason } from "@mui/material/Autocomplete";
/**
 * Hierarchy tiplist selector props
 */
export type HiSelectorTLProps<T extends object, D extends DataTypes.Keys<T> = IdDefaultType<T>> = {
    /**
     * Break points
     */
    breakPoints?: ResponsiveStyleValue<GridSize>;
    /**
     * Id field
     */
    idField?: D;
    /**
     * Error
     */
    error?: boolean;
    /**
     * The helper text content.
     */
    helperText?: React.ReactNode;
    /**
     * Name, also hidden input field name
     */
    name: string;
    /**
     * Label
     */
    label?: string;
    /**
     * Labels for each select
     */
    labels?: string[];
    /**
     * Load data callback
     */
    loadData: (keyword: string | undefined, id: T[D] | undefined, maxItems: number, parent?: T[D]) => PromiseLike<T[] | null | undefined>;
    /**
     * On value change event
     */
    onChange?: (value: unknown) => void;
    /**
     * Item change callback
     */
    onItemChange?: (event: React.SyntheticEvent, option: T | null, reason: AutocompleteChangeReason) => void;
    /**
     * Required
     */
    required?: boolean;
    /**
     * Search mode
     */
    search?: boolean;
    /**
     * Values
     */
    values?: T[D][];
};
/**
 * Hierarchy tiplist selector
 * @param props Prop
 * @returns Component
 */
export declare function HiSelectorTL<T extends object, D extends DataTypes.Keys<T> = IdDefaultType<T>>(props: HiSelectorTLProps<T, D>): import("react/jsx-runtime").JSX.Element;
