import { axiosAdapter, p3Values } from 'point3-common-tool';
export declare class LogtoUserAlreadyExistsError extends Error {
    constructor(message: string);
}
export declare enum LogtoPasswordAlgorithm {
    Argon2i = "Argon2i",
    Argon2id = "Argon2id",
    Argon2d = "Argon2d",
    SHA1 = "SHA1",
    Bcrypt = "Bcrypt"
}
export type LogtoUser = {
    username: string;
    primaryPhone?: string;
    primaryEmail: string;
    password: string;
    passwordAlgorithm?: LogtoPasswordAlgorithm;
    name: string;
    avatar?: string;
    customData?: Record<string, any>;
};
export type LogtoUserResponse = {
    id: string;
} & LogtoUser;
export type LogtoPersonalAccessTokenResponse = {
    tenantId: string;
    userId: string;
    name: string;
    value: string;
    createdAt: number;
    expiresAt: number | null;
};
export type LogtoRole = {
    name: string;
    description: string;
    type: string;
    isDefault?: boolean;
};
export type LogtoRoleResponse = {
    id: string;
} & LogtoRole;
export declare class VerificationMethodType {
    static phone: typeof p3Values.PhoneNumber;
    static email: typeof p3Values.Email;
}
export declare class SMSVerificationResponse {
    verificationId: string;
    expiresAt: string;
    constructor(verificationId: string, expiresAt: string);
}
export declare class LogtoOAuthRESTTemplate extends axiosAdapter.RESTTemplate {
}
export declare const LogtoLoggerServiceToken: unique symbol;
