import { Notes } from "./models/notes"; import { Pools } from "./models/pools"; import { Posts } from "./models/posts"; import { TagAliases } from "./models/tagAliases"; import { Tags } from "./models/tags"; export declare class JS621 { notes: Notes; pools: Pools; posts: Posts; tagAliases: TagAliases; tags: Tags; private stateInfo; private ratelimiter; private userAgent; private username; private api_key; /** * JS621 class; entrypoint into the JS621 API wrapper. * @param {string} userAgent - A descriptive user-agent. Should contain contact info. * @returns {JS621} - A JS621 object, from which calls to the e621.net api can be made by accessing its attributes. */ constructor(userAgent: string); private update_state_info; /** * Creates new models; used primarily to keep state_info synchronized across all worker objects. */ private setup_models; /** * Logs-in to the e621.net API; used to gather results behind universal blacklist, * or for any requests which modify data (e.g. voting, creating a post, etc.) * @param {string} username - The user's e621.net username. * @param {string} api_key - The user's API key, as generated on e621.net's account page. */ login: (username: string, api_key: string) => void; /** * Logs out of the e621.net API. */ logout: () => void; }