/// import { OAuthConfigType, WindowOptions } from "../"; import { BrowserWindow } from "electron"; import { EventEmitter } from "events"; import { ResponseType } from "../utils"; export interface OAuth2EmitterType { emit(event: "before-authorize-request", parameters: object): boolean; emit(event: "before-access-token-request", parameters: object, headers: object): boolean; } export default interface OAuth2Provider { on(event: "before-authorize-request", listener: (query: { [key: string]: any; }) => void): this; on(event: "before-access-token-request", listener: (parameters: { [key: string]: any; }, headers: { [key: string]: any; }) => void): this; } export default class OAuth2Provider extends EventEmitter implements OAuth2EmitterType { config: OAuthConfigType; finished: boolean; userCancelError?: Error; constructor(config: OAuthConfigType); /** * Initiate OAuth2 flow. * * if grant_type is "code" or "token", you need to pass "window" argument. * In other cases it is not necessary. * * @example * ```js * const window = new BrowserWindow({ * width: 600, * height: 800, * webPreferences: { * nodeIntegration: false // We recommend disabling nodeIntegration for security. * contextIsolation: true // We recommend enabling contextIsolation for security. * // see https://github.com/electron/electron/blob/master/docs/tutorial/security.md * }, * }) * const provider = new OAuth2Provider(config) * provider.perform(window) * .then(console.log) * .catch(console.error) * ``` * */ perform(window?: BrowserWindow, windowOptions?: WindowOptions): Promise; } //# sourceMappingURL=index.d.ts.map