import User from "../entities/user.js";
import UserRepository from "../repositories/user.js";
interface ISignUpParams {
    fields: Partial<User>;
    isConfirmed: () => Promise<boolean> | boolean;
    repository: UserRepository;
}
/**
 * Sign up user
 */
declare class SignUp {
    /**
     * @protected
     */
    protected readonly fields: ISignUpParams['fields'];
    /**
     * @protected
     */
    protected readonly isConfirmed: ISignUpParams['isConfirmed'];
    /**
     * @protected
     */
    protected readonly repository: ISignUpParams['repository'];
    /**
     * @constructor
     */
    /**
     * @constructor
     */
    protected constructor({ fields, repository, isConfirmed }: ISignUpParams);
    /**
     * Init service
     */
    /**
     * Init service
     */
    static init(params: ISignUpParams): SignUp;
    /**
     * Sign up user
     */
    /**
     * Sign up user
     */
    register(): Promise<User>;
}
export { SignUp as default, ISignUpParams };
