import { CustomRiskAssessment, LinkedEntity } from "./scoringAnalysis";
import { Coin } from "./common";

export interface Address {
    hash: string;
    subAccount?: SubAccount;
    entity?: LinkedEntity;
    customRiskAssessment?: CustomRiskAssessment;
    parentEntity?: ParentLinkedEntity;
    isBookmarked: boolean;
    label?: string;
    lists: Array<{
        id: number;
        name: string;
        addressId: number;
    }>;
    wallet: {
        numberOfAddresses: number;
    };
    cases: Array<{
        id: number;
        caseEventId: number;
        name: string;
    }>;
    numberOfAlerts: number;
    scenarios: Array<{
        id: string;
        name: string;
    }>;
    firstActivityDate?: number;
    lastActivityDate?: number;
}

export interface SubAccount {
    hash: string;
    coin: Coin;
}

export interface ParentLinkedEntity {
    id: number;
    name: string;
    type: string;
    referenceAddress: string;
}
