import { Response } from "node-fetch";
import { Category, Error, Flag, IdRangeObject, JokeType, LanguageCode, ResponseFormat } from "../types";
import { BaseRequestOptions } from "./helper";
/**
 * Strict version of JokesRequestOptions
 * @private
 * @deprecated
 */
export declare type StrictJokesRequestOptions = {
    amount: number;
    categories: Category[] | "Any";
    flags: Flag[];
    idRange?: IdRangeObject;
    jokeType: "any" | JokeType;
    language: LanguageCode;
    responseFormat: ResponseFormat;
    searchString: string;
};
export interface JokesRequestOptions extends BaseRequestOptions {
    /**
     * @default 1
     */
    amount?: number;
    /**
     * @default Any
     */
    categories?: Category[] | "Any";
    /**
     * @default []
     */
    blacklistFlags?: Flag[];
    idRange?: IdRangeObject | number;
    /**
     * @default any
     */
    jokeType?: "any" | JokeType;
    searchString?: string;
}
/**
 * Validate Request Options
 * and it will generate warnings too
 *
 * @private
 * @todo Check these with fewer lines of code
 */
export declare function validateReqOptions(options: JokesRequestOptions): Error | null;
/**
 * Fetches jokes from the api
 */
export declare function getJokes(options?: JokesRequestOptions): Promise<object | Response>;
