import { DeepRequired } from "rjutils-collection"; import { AxiosInstance } from "axios"; import { RatelimitInfos, Response } from "./helpers/wrapAPI"; import { Permission } from "./api"; import AccountManager from "./api/account"; import ServerManager from "./api/server"; import TicketManager from "./api/ticket"; import PollManager from "./api/poll"; export declare const Version: string; import ApiKey, { APIKeyInfos, convertRawToAPIKey } from "./api/types/apiKey"; import Invoice, { InvoiceInfos, convertRawToInvoice } from "./api/types/invoice"; import Session, { SessionInfos, convertRawToSession } from "./api/types/session"; import Friend, { FriendInfos, convertRawToFriend } from "./api/types/friend"; import Subuser, { SubuserInfos, convertRawToSubuser } from "./api/types/server/subUser"; import Server, { ServerInfos, convertRawToServer } from "./api/types/server"; import Node, { NodeInfos, convertRawToNode } from "./api/types/node"; import Ticket, { TicketInfos, convertRawToTicket } from "./api/types/ticket"; import ActionLog, { ActionLogInfos, convertRawToActionLog } from "./api/types/actionLog"; import Poll, { PollInfos, convertRawToPoll } from "./api/types/poll"; import TicketMessage, { TicketMessageInfos, convertRawToTicketMessage } from "./api/types/ticket/message"; import { default as User, FullUser, UserInfos, FullUserInfos, convertRawToUser, convertRawToFullUser } from "./api/types/user"; export { ApiKey, Invoice, Session, Friend, Node, User, FullUser, Subuser, Server, Poll, Ticket, ActionLog, TicketMessage, convertRawToAPIKey, convertRawToInvoice, convertRawToSession, convertRawToFriend, convertRawToNode, convertRawToUser, convertRawToActionLog, convertRawToFullUser, convertRawToSubuser, convertRawToServer, convertRawToTicket, convertRawToPoll, convertRawToTicketMessage }; export type { RatelimitInfos, Response, APIKeyInfos, TicketInfos, PollInfos, TicketMessageInfos, InvoiceInfos, SessionInfos, FriendInfos, NodeInfos, UserInfos, ActionLogInfos, FullUserInfos, SubuserInfos, ServerInfos, Permission }; export type APIOptions = { /** * Authentication Settings * @since 0.0.1 */ authentication: { /** * The Token Type to use when authenticating * @default "apiKey" * @since 0.0.1 */ type?: 'api' | 'auth'; /** * The Token to use when authenticating * @since 0.0.1 */ token: string; }; /** * The Axios Instance to use * @default axios * @since 0.0.1 */ axios?: AxiosInstance; /** * The Base URL to use * @default "https://beta.paperstudios.dev" * @since 0.0.1 */ baseUrl?: string; }; export type FullAPIOptions = DeepRequired; /** * The Main Class for API interactions * @since 0.0.1 */ export declare class API { private options; /** * Initializes a new API instance * @example * ``` * import { API } from "@paperstudios/sdk" * * const api = new API({ * authentication: { * type: 'apiKey', * token: 'XXXXXXXXXXXXXXXX' * } * }) * ``` * @since 0.0.1 */ constructor(options: APIOptions); /** * Get API Infos * @since 0.0.1 */ getAPIInfos(): Response<{ infos: { appVersion: string; postgresVersion: string; redisVersion: string; nodeVersion: string; deployment: 'development' | 'production'; uptime: number; requests: number; bytesDown: number; bytesUp: number; }; stats: { users: number; nodes: number; servers: number; storedData: number; }; }>; /** * Get Basic User Infos from anyone * @since 0.0.15 */ getUserInfos(tag: string): Response; /** * Get API Permissions available * @since 0.0.1 */ getPermissions(): Response<{ general: Permission; server: Permission; }>; /** * Account Related Methods * @since 0.0.1 */ account: AccountManager; /** * Server Related Methods * @since 0.1.0 */ server: ServerManager; /** * Ticket Related Methods * @since 0.1.33 */ ticket: TicketManager; /** * Poll Related Methods * @since 0.2.5 */ poll: PollManager; }