export = Token; /** * Type imports * @typedef {import("../util/Options").AuthOptions} AuthOptions * @typedef {import("../util/Options").AuthSignOptions} AuthSignOptions * @typedef {import("../util/Options").AuthVerifyOptions} AuthVerifyOptions */ /** * @exports Token * @class Token * @author 7kasper * @classdesc * Class that servers token authentication. * This is an authentication implementation * of the JWT authentication type. */ declare class Token { /** * Creates a token instance that can be used * to quickly sign and verify tokens. * @param {AuthOptions} auth - the authoptions * that specify how the JWT should be signed and verified. */ constructor(auth: AuthOptions); privateKey: string; publicKey: string; defaultSignOptions: import("../util/Options").AuthSignOptions; defaultVerifyOptions: import("../util/Options").AuthVerifyOptions; /** * Creates a token with a set of permissions. * @param {string[]} permissions - the permissions to grant in this token. * @param {AuthSignOptions} [signOptions] - the signOptions, in format of the `JWT` * extenstion. Referts to default sign options. */ grant(permissions: string[], signOptions?: AuthSignOptions): Promise; /** * Creates a token with a certain payload. * @param {Object} payload - the payload to encompass in the token. * @param {AuthSignOptions} [signOptions] - the signOptions, in format of the `JWT` * extenstion. Referts to default sign options. */ sign(payload: any, signOptions?: AuthSignOptions): Promise; /** * Checks if a given token is signed by us and still valid according to the verify options. * @param {Object} token - the token to check. * @param {AuthVerifyOptions} verifyOptions */ verify(token: any, verifyOptions: AuthVerifyOptions): Promise; } declare namespace Token { export { AuthOptions, AuthSignOptions, AuthVerifyOptions }; } /** * Type imports */ type AuthOptions = import("../util/Options").AuthOptions; /** * Type imports */ type AuthSignOptions = import("../util/Options").AuthSignOptions; /** * Type imports */ type AuthVerifyOptions = import("../util/Options").AuthVerifyOptions;