declare type StringTypes = 'string' | 'boolean' | 'integer' | 'float' | 'array' | 'number' | 'set';
declare type InputTypes = string | boolean | number | any[] | Record<string | number | symbol, any>;
declare type InputOptions = {
    /**
     * Input return type, which includes:
     * `string` (1.0.0), `number` (1.0.0), `integer` (1.0.0),
     * `boolean` (1.0.1), `float` (1.0.2),
     * `array` (1.0.3), `set` (1.0.3)
    */
    type: StringTypes;
};
/**
 * Creates an input prompt in the console which can return several types depending on which specified
 * @param message The message to print when requesting input.
 * @param options {@link InputOptions} Input options
 * @example ```js
 * import { input } from 'javaprompt';
 *
 * // Example is number
 * const response = await input('Give a number! ', { type: number });
 * ```
 * Console:
 * ```node
 * $ node .
 * ? Give a number!
 * ```
 * Input typing follows the message.
 * @since 1.0.0
 * @returns {Promise<InputTypes>} One of the types in StringTypes. Some have been yet to be implemented
 */
export declare function input(message: string, options?: InputOptions): Promise<InputTypes | undefined>;
declare const _default: {
    input: typeof input;
};
export default _default;
