import { Token } from './Token';
import { IJWTVerifyOptions } from './IJWTVerifyOptions';
import { IAuthTokenData } from './IAuthTokenData';
export declare class TokenManager<TAuthToken extends IAuthTokenData = IAuthTokenData> {
    private $secret;
    constructor(secret: string);
    sign(payload: {
        [key: string]: any;
    }, expiresIn: string | number): Promise<Token>;
    verify(token: Token, options?: IJWTVerifyOptions): Promise<TAuthToken>;
    decode(token: Token): Promise<TAuthToken>;
}
