import type { SuperSelectConfig, SuperSelectOptgroup, SuperSelectOption, SuperSelectValue, SuperSelectValuePrimitive } from './SuperSelect.types'; export declare const getGroupNameIsValid: (groupName: unknown) => boolean; export declare const getOptionsSortingAlgorithm: ({ getOptionIsBatch, getOptionLabel, }: { getOptionIsBatch: NonNullable; getOptionLabel: NonNullable; }) => (a: SuperSelectOption, b: SuperSelectOption) => number; export declare const getBatchOptionFormatter: ({ value, multiple, getOptionIsBatch, getOptionValue, }: { value: SuperSelectConfig['value']; multiple: NonNullable; getOptionIsBatch: NonNullable; getOptionValue: NonNullable; }) => (option: SuperSelectOption) => any; export declare const RESERVED_UNGROUPED_OPTGROUP_NAME = "RESERVED_UNGROUPED_OPTGROUP_NAME"; export declare const collectGroupsInOrderOfOccurrence: (opts: SuperSelectOption[], getOptionGroup: NonNullable) => { groups: string[]; groupedOptions: Record; }; export declare function reorder(options: SuperSelectOption[], startIndex: number, endIndex: number): { nextOptions: any[]; prevGroup: string; nextGroup: string; }; export declare function isMultiple(multiple: boolean, value: T | T[]): value is T[]; export declare const getOptionIsOptgroup: (item: SuperSelectOption) => item is SuperSelectOptgroup; export declare const getOptionIsOptSelectAll: (item: SuperSelectOption) => item is SuperSelectOptgroup; export declare const sortOptgroups: (groupA: string, groupB: string) => number; export declare function getIsAllOptionsUngrouped(groups: string[]): boolean; export declare function createOptgroup(groupName: string, groupOptions: SuperSelectOption[]): any[]; export declare function removeEmptyOptGroups(options: SuperSelectOption[]): any[]; export declare function defaultOnUnselectAll(value: SuperSelectValue, options: SuperSelectOption[], searchValue: string, getValue: (opt: SuperSelectOption) => Array): SuperSelectValue;