# Variable: card

```ts
const card: object & Typed<{
  addresses?: readonly object[];
  birthday?: string;
  emails?: readonly object[];
  jobTitle?: string;
  name?: {
     family?: string;
     full?: string;
     given?: string;
  };
  note?: string;
  organization?: string;
  phones?: readonly object[];
  photo?: {
     hash: string;
     key?: string;
     mime: string;
     name?: string;
     salt?: string;
     size: number;
  };
  urls?: readonly string[];
}>;
```

Defined in: [packages/core/src/schemas/library/social.ts:89](https://github.com/leifriksheim/minca/blob/main/core/src/schemas/library/social.ts#L89)

A person who may not be on Minca: a subset of JSContact (RFC 9553). For
people who are, `std.contact` keeps their DID.

## Type Declaration

### description

```ts
readonly description: "An address-book entry for anyone, on Minca or not. Your own public self is std.profile; a Minca account you can message is std.contact." = 'An address-book entry for anyone, on Minca or not. Your own public self is std.profile; a Minca account you can message is std.contact.';
```

### name

```ts
readonly name: "std.card" = 'std.card';
```

### schema

```ts
readonly schema: object;
```

#### schema.properties

```ts
readonly properties: object;
```

#### schema.properties.addresses

```ts
readonly addresses: object;
```

#### schema.properties.addresses.items

```ts
items: object;
```

#### schema.properties.addresses.items.properties

```ts
properties: object & object;
```

##### Type Declaration

###### address

```ts
readonly address: object;
```

###### address.properties

```ts
properties: object;
```

###### address.properties.country

```ts
country: object;
```

###### address.properties.country.maxLength

```ts
maxLength: ... = max;
```

###### address.properties.country.minLength?

```ts
minLength?: ... = min;
```

###### address.properties.country.type

```ts
type: ...;
```

###### address.properties.locality

```ts
locality: object;
```

###### address.properties.locality.maxLength

```ts
maxLength: ... = max;
```

###### address.properties.locality.minLength?

```ts
minLength?: ... = min;
```

###### address.properties.locality.type

```ts
type: ...;
```

###### address.properties.postcode

```ts
postcode: object;
```

###### address.properties.postcode.maxLength

```ts
maxLength: ... = max;
```

###### address.properties.postcode.minLength?

```ts
minLength?: ... = min;
```

###### address.properties.postcode.type

```ts
type: ...;
```

###### address.properties.region

```ts
region: object;
```

###### address.properties.region.maxLength

```ts
maxLength: ... = max;
```

###### address.properties.region.minLength?

```ts
minLength?: ... = min;
```

###### address.properties.region.type

```ts
type: ...;
```

###### address.properties.street

```ts
street: object;
```

###### address.properties.street.maxLength

```ts
maxLength: ... = max;
```

###### address.properties.street.minLength?

```ts
minLength?: ... = min;
```

###### address.properties.street.type

```ts
type: ...;
```

###### address.type

```ts
type: "object";
```

###### label

```ts
label: object;
```

###### label.maxLength

```ts
maxLength: number = max;
```

###### label.minLength?

```ts
minLength?: number = min;
```

###### label.type

```ts
type: "string";
```

#### schema.properties.addresses.items.required

```ts
required: readonly ["address"];
```

#### schema.properties.addresses.items.type

```ts
type: "object";
```

#### schema.properties.addresses.maxItems

```ts
maxItems: number = 16;
```

#### schema.properties.addresses.type

```ts
type: "array";
```

#### schema.properties.birthday

```ts
readonly birthday: object & object;
```

##### Type Declaration

###### maxLength

```ts
maxLength: number = 10;
```

###### minLength

```ts
minLength: number = 10;
```

###### type

```ts
type: "string";
```

###### x-kind

```ts
readonly "x-kind": "day";
```

#### schema.properties.emails

```ts
readonly emails: object;
```

#### schema.properties.emails.items

```ts
items: object;
```

#### schema.properties.emails.items.properties

```ts
properties: object & object;
```

##### Type Declaration

###### address

```ts
readonly address: object;
```

###### address.maxLength

```ts
maxLength: number = max;
```

###### address.minLength?

```ts
minLength?: number = min;
```

###### address.type

```ts
type: "string";
```

###### label

```ts
label: object;
```

###### label.maxLength

```ts
maxLength: number = max;
```

###### label.minLength?

```ts
minLength?: number = min;
```

###### label.type

```ts
type: "string";
```

#### schema.properties.emails.items.required

```ts
required: readonly ["address"];
```

#### schema.properties.emails.items.type

```ts
type: "object";
```

#### schema.properties.emails.maxItems

```ts
maxItems: number = 16;
```

#### schema.properties.emails.type

```ts
type: "array";
```

#### schema.properties.jobTitle

```ts
readonly jobTitle: object;
```

#### schema.properties.jobTitle.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.jobTitle.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.jobTitle.type

```ts
type: "string";
```

#### schema.properties.name

```ts
readonly name: object;
```

#### schema.properties.name.properties

```ts
readonly properties: object;
```

#### schema.properties.name.properties.family

```ts
readonly family: object;
```

#### schema.properties.name.properties.family.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.name.properties.family.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.name.properties.family.type

```ts
type: "string";
```

#### schema.properties.name.properties.full

```ts
readonly full: object;
```

#### schema.properties.name.properties.full.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.name.properties.full.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.name.properties.full.type

```ts
type: "string";
```

#### schema.properties.name.properties.given

```ts
readonly given: object;
```

#### schema.properties.name.properties.given.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.name.properties.given.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.name.properties.given.type

```ts
type: "string";
```

#### schema.properties.name.type

```ts
readonly type: "object" = 'object';
```

#### schema.properties.note

```ts
readonly note: object;
```

#### schema.properties.note.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.note.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.note.type

```ts
type: "string";
```

#### schema.properties.organization

```ts
readonly organization: object;
```

#### schema.properties.organization.maxLength

```ts
maxLength: number = max;
```

#### schema.properties.organization.minLength?

```ts
minLength?: number = min;
```

#### schema.properties.organization.type

```ts
type: "string";
```

#### schema.properties.phones

```ts
readonly phones: object;
```

#### schema.properties.phones.items

```ts
items: object;
```

#### schema.properties.phones.items.properties

```ts
properties: object & object;
```

##### Type Declaration

###### number

```ts
readonly number: object;
```

###### number.maxLength

```ts
maxLength: number = max;
```

###### number.minLength?

```ts
minLength?: number = min;
```

###### number.type

```ts
type: "string";
```

###### label

```ts
label: object;
```

###### label.maxLength

```ts
maxLength: number = max;
```

###### label.minLength?

```ts
minLength?: number = min;
```

###### label.type

```ts
type: "string";
```

#### schema.properties.phones.items.required

```ts
required: readonly ["number"];
```

#### schema.properties.phones.items.type

```ts
type: "object";
```

#### schema.properties.phones.maxItems

```ts
maxItems: number = 16;
```

#### schema.properties.phones.type

```ts
type: "array";
```

#### schema.properties.photo

```ts
readonly photo: object & object;
```

##### Type Declaration

###### properties

```ts
properties: object;
```

###### properties.hash

```ts
hash: object;
```

###### properties.hash.maxLength

```ts
maxLength: number = 64;
```

###### properties.hash.minLength

```ts
minLength: number = 64;
```

###### properties.hash.type

```ts
type: "string";
```

###### properties.key

```ts
key: object;
```

###### properties.key.maxLength

```ts
maxLength: number = 22;
```

###### properties.key.minLength

```ts
minLength: number = 22;
```

###### properties.key.type

```ts
type: "string";
```

###### properties.mime

```ts
mime: object;
```

###### properties.mime.maxLength

```ts
maxLength: number = max;
```

###### properties.mime.minLength?

```ts
minLength?: number = min;
```

###### properties.mime.type

```ts
type: "string";
```

###### properties.name

```ts
name: object;
```

###### properties.name.maxLength

```ts
maxLength: number = max;
```

###### properties.name.minLength?

```ts
minLength?: number = min;
```

###### properties.name.type

```ts
type: "string";
```

###### properties.salt

```ts
salt: object;
```

###### properties.salt.maxLength

```ts
maxLength: number = 22;
```

###### properties.salt.minLength

```ts
minLength: number = 22;
```

###### properties.salt.type

```ts
type: "string";
```

###### properties.size

```ts
size: object;
```

###### properties.size.minimum

```ts
minimum: number = 0;
```

###### properties.size.type

```ts
type: "integer";
```

###### required

```ts
required: readonly ["hash", "size", "mime"];
```

###### type

```ts
type: "object";
```

###### x-kind

```ts
readonly "x-kind": "file";
```

#### schema.properties.urls

```ts
readonly urls: object;
```

#### schema.properties.urls.items

```ts
readonly items: object & object;
```

##### Type Declaration

###### maxLength

```ts
maxLength: number = max;
```

###### minLength?

```ts
minLength?: number = min;
```

###### type

```ts
type: "string";
```

###### x-kind

```ts
readonly "x-kind": "url";
```

#### schema.properties.urls.maxItems

```ts
readonly maxItems: 16 = 16;
```

#### schema.properties.urls.type

```ts
readonly type: "array" = 'array';
```

#### schema.type

```ts
readonly type: "object" = 'object';
```

### title

```ts
readonly title: "Contact card" = 'Contact card';
```
