import { ReactNode } from "react";
import { IconTypesKeys } from "../../atoms/Icon";
import { Origin } from "../Popover";
export interface IGroupProps<S = string> {
    onSymbolSelect: (symbol: ISymbol<S>) => void;
    library: ILibGroup<S>[];
    getSymbol: (symbol: ISymbol<S>) => ReactNode;
}
export interface ILibGroup<S = string> {
    id: string | number;
    name: string;
    symbols: ISymbol<S>[];
}
export interface ISymbol<S = string> {
    id: string;
    name: string;
    symbol?: S;
}
export interface ISymbolGroupProps<S = string> extends Omit<IGroupProps<S>, "library"> {
    symbols: ISymbol<S>[];
}
export interface ISymbolLibraryProps<S> extends IGroupProps<S> {
    anchor: IconTypesKeys;
    isOpen?: boolean;
    onRequestClose: VoidFunction;
    symbolsInRow?: number;
    zIndex?: number;
    children?: ReactNode;
    innerRef?: (node: HTMLElement | null) => void;
    className?: string;
    anchorOrigin?: Origin;
    targetOrigin?: Origin;
    selectSymbolText?: string;
}
