/**
 * @packageDocumentation
 * @module Index
 */
import Booru, { type BooruCredentials } from './boorus/Booru';
import Derpibooru from './boorus/Derpibooru';
import XmlBooru from './boorus/XmlBooru';
import Post from './structures/Post';
import type SearchParameters from './structures/SearchParameters';
import SearchResults from './structures/SearchResults';
import Site from './structures/Site';
/**
 * Create a new booru to search with
 *
 * @constructor
 * @param {String} site The {@link Site} domain (or alias of it) to create a booru from
 * @param {BooruCredentials} credentials The credentials to use on this booru
 * @return {Booru} A booru to use
 */
declare function booruForSite(site: string, credentials?: BooruCredentials): Booru;
export { booruForSite as forSite };
export default booruForSite;
export interface BooruSearch extends SearchParameters {
    credentials?: BooruCredentials;
}
/**
 * Searches a site for images with tags and returns the results
 * @param {String} site The site to search
 * @param {String[]|String} [tags=[]] Tags to search with
 * @param {SearchParameters} [searchOptions={}] The options for searching
 *  if provided (Unused)
 * @return {Promise<SearchResults>} A promise with the images as an array of objects
 *
 * @example
 * ```
 * const Booru = require('booru')
 * // Returns a promise with the latest cute glace pic from e926
 * Booru.search('e926', ['glaceon', 'cute'])
 * ```
 */
export declare function search(site: string, tags?: string[] | string, { limit, random, page, credentials }?: BooruSearch): Promise<SearchResults>;
/**
 * Deprecated, now a noop
 * <p>This will be removed *soon* please stop using it</p>
 * <p>Just access <code>&lt;{@link Post}&gt;.prop</code>, no need to commonfy anymore
 *
 * @deprecated Just use <code>&lt;{@link Post}&gt;.prop</code> instead
 * @param  {Post[]} images   Array of {@link Post} objects
 * @return {Promise<Post[]>} Array of {@link Post} objects
 */
export declare function commonfy(images: Post[]): Promise<Post[]>;
export { Booru as BooruClass } from './boorus/Booru';
export { BooruError, sites } from './Constants';
export { resolveSite } from './Utils';
export { Derpibooru, Post, SearchResults, Site, XmlBooru };
export type { BooruCredentials, SearchParameters };
//# sourceMappingURL=index.d.ts.map