import moment from 'moment';
import jwt from 'jsonwebtoken';
import { ApiError } from '../ApiError';
type OptionsType = {
    type: 'days' | 'minutes' | 'seconds';
    expiredAt: number;
};
export declare const signToken: (data: object, options: OptionsType) => Promise<{
    error: {
        message: string;
        description: string;
    };
    data?: undefined;
} | {
    data: {
        accessToken: string;
        refreshToken: string;
        accessTokenExpired: moment.Moment;
        refreshTokenExpired: moment.Moment;
    };
    error?: undefined;
} | {
    error: ApiError;
    data?: undefined;
}>;
export declare const verifyToken: (accessToken: string) => Promise<{
    data: string | jwt.JwtPayload;
    error?: undefined;
} | {
    error: ApiError;
    data?: undefined;
}>;
export declare const refreshToken: (accessToken: string, refreshToken: string, options: OptionsType) => Promise<ApiError | {
    data: {
        status: string;
        accessToken: string;
        refreshToken: string;
        accessTokenExpired: moment.Moment;
        refreshTokenExpired: moment.Moment;
    } | {
        status: string;
        accessToken: string;
        refreshToken: string;
        accessTokenExpired: string;
        refreshTokenExpired: string;
    };
}>;
export {};
