import { RelationMappings, Pojo, PartialModelObject } from 'objection';
import BaseModel, { TrxAndRelatedOptions, FindOptions, QueryResult } from '../base.model';
import User from '../user/user.model';
declare class Identity extends BaseModel {
    email: string;
    isDefault: boolean;
    isSocial: boolean;
    isVerified: boolean;
    oauthAccessToken: string;
    oauthAccessTokenExpiration: Date;
    oauthRefreshToken: string;
    oauthRefreshTokenExpiration: Date;
    profileData: {
        [key: string]: unknown;
    };
    provider: string;
    userId: string;
    verificationToken: string;
    verificationTokenTimestamp: Date;
    user: User;
    constructor();
    static get tableName(): string;
    static get schema(): object;
    static get relationMappings(): RelationMappings;
    $formatDatabaseJson(json: Pojo): Pojo;
    static formatIncomingQueryData(data: PartialModelObject<Identity>): PartialModelObject<Identity>;
    static find<T extends BaseModel>(this: new () => T, data: PartialModelObject<T>, options?: FindOptions): Promise<QueryResult<T>>;
    static findOne<T extends BaseModel>(this: new () => T, data: PartialModelObject<T>, options?: TrxAndRelatedOptions): Promise<T>;
}
export default Identity;
//# sourceMappingURL=identity.model.d.ts.map