import { AxiosInstance } from 'axios'; import { Id, UserData, FormData, CredentialsData, PersonData } from '../types'; import { AddressWithRelations } from './address'; import { CreditWithRelations } from './credit'; import { FormWithRelations } from './form'; import { BaseRequestModelInterface } from './interfaces'; import { KycWithRelations } from './kyc'; import { LoanPartWithRelations } from './loan-part'; import { BaseRequestModel } from './models'; import { PersonWithRelations } from './person'; import { TinkLoanWithRelations } from './tink-loan'; import { TinkAccountWithRelations } from './tink-account'; export declare type FormInitOptions = { ignoreTink?: boolean; ignoreRoaring?: boolean; }; export declare class User extends BaseRequestModel implements BaseRequestModelInterface { constructor(api: AxiosInstance); login(credentials: CredentialsData): Promise<{ token: string; user: UserData; }>; anonymousLogin(): Promise<{ token: string; }>; formInit(userId: Id, opts?: FormInitOptions): Promise; lookUpPerson(userId: Id, ssn: string): Promise; } export interface UserRelations { forms?: FormWithRelations[]; persons?: PersonWithRelations[]; addresses?: AddressWithRelations[]; loanParts?: LoanPartWithRelations[]; tinkLoans?: TinkLoanWithRelations[]; tinkAccounts?: TinkAccountWithRelations[]; credits?: CreditWithRelations[]; kycs?: KycWithRelations[]; } export declare type UserWithRelations = User & UserRelations;