/**
 * The possible states of the tool.
 * @private
 */
/**
 * The super tool class. Holds a state and implements the execute command.
 */
export class RedditGrabber {
    /**
     * The possible states of the tool.
     * @return {{great: string, cool: string, awesome: string, swag: string}}
     */
    constructor(options: any);
    username: any;
    password: any;
    appId: any;
    appSecret: any;
    userAgent: any;
    subreddits: any;
    alwaysTypes: string[];
    randomTypes: string[];
    times: string[];
    mediaSources: string[];
    reddit: Reddit;
    /**
     * Validates a state. To be valid, the value needs to be part of the {tool.states}.
     * Throws an Error if invalid. Returns void / undefined if passed.
     * @param value The state candidate to be validated.
     * @throws if state is not a valid state
     */
    getSubreddits(): any;
    /**
     * Validates and sets a new state value if given and returns the updated value. If no defined value is given it just returns the
     * current state value.
     * @param value {String|undefined} optional state to be set.
     * @return {String} the current state value
     */
    setSubreddits(subreddits: any): string;
    grabbit(): Promise<any>;
}
import Reddit from "./reddit/index.js";
