import { OwnerModel } from "./ownermodel.js";
import { ModelLink } from "./relations.js";
import { User } from "./user.js";
export declare class IdentTokens {
    refresh: string;
    access: string;
}
/**
 * First basic model for Ident
 * @class
 * @WebdaModel
 */
export declare class Ident extends OwnerModel {
    /**
     * Type of the ident
     */
    _type: string;
    /**
     * Uid on the provider
     */
    uid: string;
    /**
     * Provider profile
     */
    __profile: unknown;
    __tokens: IdentTokens;
    _lastUsed: Date;
    _user: ModelLink<User>;
    __new: boolean;
    _failedLogin: number;
    /**
     * If EmailIdent
     */
    _lastValidationEmail?: number;
    /**
     * When the ident was validated
     */
    _validation?: Date;
    /**
     * Email for this ident if it exist
     */
    email?: string;
    /**
     * Provider id
     */
    provider?: string;
    static init(type: string, uid: string, accessToken?: string, refreshToken?: string, profile?: object): Ident;
    getUser(): ModelLink<User>;
    getEmail(): string;
    setUser(user: any): void;
    getType(): string;
    setType(type: any): void;
}
