import { IPlexClientDetails } from "../models/PlexCodeModels"; export declare class PlexOauth { private clientInfo; private authPin; /** * Create an instance of the 'PlexOauth' class * @param {IPlexClientDetails} clientIdentifier Unique identifier for your client (Should be different for every client) */ constructor(clientInfo: IPlexClientDetails); /** * Request the hosted UI link for your app. A user will use this link to sign in and authenticate with Plex. * This gets returned with the pin id needed to query the Plex Pin API for the auth token * @returns {Promise<[string, number]} [hostedUIUrl, pinId] - Returns a promise of the hosted login URL and the pin Id as a tuple */ requestHostedLoginURL(): Promise<[string, number]>; /** * After a user signs in with the hosted UI, we need to check the Plex API for the auth token. * This function will poll their API looking for the auth token and returning it if found. * If the auth token is not found, this function will return null * @param {number} pinId The pinId to query for * @param {number} requestDelay The amount of delay in milliseconds. Can not go below 1000 (1 second) * @param {number} maxRetries The maximum number of retries until an auth token is received * * @returns {Promise} The authtoken if found or null */ checkForAuthToken(pinId: number, requestDelay?: number, maxRetries?: number): Promise; }