import { MenuOption } from '../../@types';
import { SelectOption } from '../../components/Form/Inputs/Select/Select';
export declare const isNumber: (char: number) => boolean;
export declare const isLetter: (char: number) => boolean;
export declare const autoformat: (input: string, format: string, currValue: string, element: HTMLInputElement) => string;
export declare const isFormatted: (item?: string, format?: string) => boolean;
/**
 * Helper function to remove unwanted prop fields from the provided props object
 *
 * @param props Props
 * @param omit List of keys to omit from props
 * @returns Clean props object
 */
export declare function removeStrayProps(props: Record<string, unknown>, omit: readonly string[]): object;
/**
 * Converts string to label (ex. "this.isMy-string" --> "This Is My String")
 */
export declare const makeLabel: (s: string) => string;
/**
 * Finds value/values in option list, and returns correct label string.
 * If there are multiples values, the labels will be listed based on their order
 * in the options list
 * @param options Options
 * @param value string
 * @param multiple specifies if the value string will contain more than one value to
 * @param placeholder placeholder to display in a field if the value is null
 * @returns string representation of value
 */
export declare function renderValue<T>(options: SelectOption<T>[], value?: string, multiple?: boolean, placeholder?: string): string;
/**
 * Generates the proper parameters for a MenuOption. For each `MenuOption`, if `path` is defined, but
 * NOT `onClick`, it will behave as a link. Otherwise, it will behave as a button. In other words:
 *   path only --> link
 *   onClick only --> button
 *   path & onClick --> button (onClick will be executed before navigating to path)
 *
 * @param menuOption -- menuOption to generate the button/link props for
 * @param naviate -- pass useNavigate's navigate fn. used when onClick & path are both present to navigate to the path
 * @param onClickCallback -- (optional) called at the end of the onClick in case any additional execution is needed (ex. closing a modal)
 */
export declare function generateButtonLinkProps(menuOption: MenuOption, navigate: (path: string) => void, onClickCallback?: () => void): {
    onClick: () => void;
    component?: undefined;
    to?: undefined;
    href?: undefined;
} | {
    component: import('react').ForwardRefExoticComponent<import('react-router-dom').LinkProps & import('react').RefAttributes<HTMLAnchorElement>>;
    to: string;
    onClick?: undefined;
    href?: undefined;
} | {
    href: string;
    onClick?: undefined;
    component?: undefined;
    to?: undefined;
} | {
    onClick?: undefined;
    component?: undefined;
    to?: undefined;
    href?: undefined;
};
/**
 * Opens the specified URL in a new tab
 */
export declare const launchTab: (url: string) => Window | null;
