import type React from "react";
import type { MultiSelectProps } from "src/components/Select/types";
export declare function useMultiSelectState(props: MultiSelectProps): {
    id: string;
    errorId: string;
    helpTextId: string;
    sizeConfig: {
        chips: string;
        input: string;
        chip: string;
        icon: string;
    };
    isControlled: boolean;
    selectedValues: string[];
    effectiveItems: string[] | {
        label: string;
        items: string[];
    }[] | undefined;
    creatableFilter: (itemValue: string, query: string, itemToString?: (v: string) => string) => boolean;
    handleInputValueChange: (value: string) => void;
    handleValueChange: (next: string[] | null) => void;
    showCreateOption: boolean;
    ariaDescribedBy: string | undefined;
    testIdPrefix: string | undefined;
    labelForValue: (val: string) => string;
    renderOption: (val: string) => React.ReactNode;
    flatOptionsMap: Map<string, import("src/components/Select/types").OptionBase>;
    label: string;
    error: string;
    helpText: string | number | bigint | boolean | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | null;
    isAsync: boolean;
    resolvedOptions: import("src/components/Select/types").Option[];
    flatOptions: import("src/components/Select/types").OptionBase[];
    isGrouped: boolean;
    isLoading: boolean;
    handleAsyncInputChange: (value: string) => void;
    baseUiItems: string[] | {
        label: string;
        items: string[];
    }[] | undefined;
    hasMoreLazy: boolean;
    loaderCallbackRef: (node: HTMLDivElement | null) => void;
};
