import jwt from "jsonwebtoken";
/**
 * @description Generate signature for request, valide for 1 hour
 * @param api_key string
 * @param secret_key string
 * @returns string
 */
export declare const generateApiKeySignature: (api_key: string, secret_key: string) => Promise<any>;
/**
 * @description Verify signature from request
 * @param signature string
 * @returns boolean
 */
export declare const verifyApiKeySignature: (signature: string) => Promise<boolean>;
export declare const run: () => Promise<void>;
export declare function generateToken(payload: {
    [Key: string]: any;
}, config: {
    security: {
        jwt: {
            secret: string;
            algorithm: string;
        };
    };
}): string;
export declare function verifyToken(token: string, config: {
    security: {
        jwt: {
            secret: string;
            algorithm: string;
        };
    };
}): string | jwt.JwtPayload;
export declare function hashToken(token: string): Promise<{
    salt: string;
    hash: string;
}>;
export declare function verifyHashedString(str: string, hash: string): Promise<boolean>;
