import type { Nin } from "./Nin";
/**
 * The session's subject.
 */
export type Subject = {
    /**
     * The identifier of the subject.
     */
    id?: string | null;
    /**
     * The idp identifier of the subject.
     */
    idpId?: string | null;
    /**
     * The full name of the subject.
     */
    name?: string | null;
    /**
     * The first name of the subject.
     */
    firstName?: string | null;
    /**
     * The middle name of the subject.
     */
    middleName?: string | null;
    /**
     * The last name of the subject.
     */
    lastName?: string | null;
    /**
     * The date of birth of the subject.
     */
    dateOfBirth?: string | null;
    nin?: Nin;
    /**
     * The Email of the subject.
     */
    email?: string | null;
    /**
     * The address of the subject.
     */
    address?: string | null;
    addressFormatted?: {
        FullAddress: string;
        Street: string;
        HouseNumber: string;
        City: string;
        PostalCode: string;
        Country: string;
    } | null;
    /**
     * Example idp attribute
     */
    attribute_1?: any;
    /**
     * Example idp attribute
     */
    attribute_2?: any;
    /**
     * FTN (Finland Trust Network) - Identity Provider used
     */
    ftnIdp?: string | null;
    /**
     * FTN (Finland Trust Network) - Finnish national identifier (HETU)
     */
    ftnHetu?: string | null;
    /**
     * FTN (Finland Trust Network) - SATU identifier
     */
    ftnSatu?: string | null;
    /**
     * Norwegian BankID - Personal number
     */
    personalNumber?: string | null;
    /**
     * Swedish BankID - Personal number
     */
    swedishPersonalNumber?: string | null;
    /**
     * Danish MitID - CPR number
     */
    cprNumber?: string | null;
    /**
     * iDIN (Netherlands) - BSN number
     */
    bsn?: string | null;
    /**
     * Dynamic fields returned by different identity providers
     * Allows for provider-specific attributes like ftnIdp, ftnHetu, etc.
     */
    [key: string]: any;
};
