import { inspect, InspectOptions } from "util"; import V1 from "../V1"; /** * Options to pass to create a TokenInstance */ export interface TokenListInstanceCreateOptions { /** Grant type is a credential representing resource owner\\\'s authorization which can be used by client to obtain access token. */ grantType: string; /** A 34 character string that uniquely identifies this OAuth App. */ clientId: string; /** The credential for confidential OAuth App. */ clientSecret?: string; /** JWT token related to the authorization code grant type. */ code?: string; /** The redirect uri */ redirectUri?: string; /** The targeted audience uri */ audience?: string; /** JWT token related to refresh access token. */ refreshToken?: string; /** The scope of token */ scope?: string; } export interface TokenSolution { } export interface TokenListInstance { _version: V1; _solution: TokenSolution; _uri: string; /** * Create a TokenInstance * * @param params - Parameter for request * @param callback - Callback to handle processed record * * @returns Resolves to processed TokenInstance */ create(params: TokenListInstanceCreateOptions, callback?: (error: Error | null, item?: TokenInstance) => any): Promise; /** * Provide a user-friendly representation */ toJSON(): any; [inspect.custom](_depth: any, options: InspectOptions): any; } export declare function TokenListInstance(version: V1): TokenListInstance; interface TokenResource { access_token: string; refresh_token: string; id_token: string; token_type: string; expires_in: number; } export declare class TokenInstance { protected _version: V1; constructor(_version: V1, payload: TokenResource); /** * Token which carries the necessary information to access a Twilio resource directly. */ accessToken: string; /** * Token which carries the information necessary to get a new access token. */ refreshToken: string; /** * Token which carries the information necessary of user profile. */ idToken: string; /** * Token type */ tokenType: string; expiresIn: number; /** * Provide a user-friendly representation * * @returns Object */ toJSON(): { accessToken: string; refreshToken: string; idToken: string; tokenType: string; expiresIn: number; }; [inspect.custom](_depth: any, options: InspectOptions): string; } export {};