# Variable: vote

```ts
const vote: object & Typed<{
  choice: number;
  choices?: readonly number[];
  respondingTo?: string;
}>;
```

Defined in: [packages/core/src/schemas/library/community.ts:40](https://github.com/leifriksheim/minca/blob/main/core/src/schemas/library/community.ts#L40)

One person's vote on a poll or proposal: the position of their choice in
its options. For more than one choice, or a ranking, `choices` lists them
in order and `choice` is the first. One per person per poll — voting again
changes it; deleting takes it back.

## Type Declaration

### description

```ts
readonly description: "One person’s vote on a std.poll, changed by voting again. To vote on a std.proposal, use std.ballot: it is final and counts toward a decision." = 'One person’s vote on a std.poll, changed by voting again. To vote on a std.proposal, use std.ballot: it is final and counts toward a decision.';
```

### links

```ts
readonly links: object;
```

#### links.about

```ts
readonly about: LinkDeclaration;
```

### name

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

### rules

```ts
readonly rules: object;
```

#### rules.onePer

```ts
readonly onePer: readonly ["@author", "link:about"];
```

### schema

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

#### schema.properties

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

#### schema.properties.choice

```ts
readonly choice: object;
```

#### schema.properties.choice.minimum

```ts
readonly minimum: 0 = 0;
```

#### schema.properties.choice.type

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

#### schema.properties.choice.x-choicesFrom

```ts
readonly "x-choicesFrom": object;
```

#### schema.properties.choice.x-choicesFrom.field

```ts
readonly field: "options" = 'options';
```

#### schema.properties.choice.x-choicesFrom.rel

```ts
readonly rel: "about" = 'about';
```

#### schema.properties.choices

```ts
readonly choices: object;
```

#### schema.properties.choices.description

```ts
readonly description: "Every choice, most preferred first, when there are several" = 'Every choice, most preferred first, when there are several';
```

#### schema.properties.choices.items

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

#### schema.properties.choices.items.minimum

```ts
readonly minimum: 0 = 0;
```

#### schema.properties.choices.items.type

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

#### schema.properties.choices.items.x-choicesFrom

```ts
readonly "x-choicesFrom": object;
```

#### schema.properties.choices.items.x-choicesFrom.field

```ts
readonly field: "options" = 'options';
```

#### schema.properties.choices.items.x-choicesFrom.rel

```ts
readonly rel: "about" = 'about';
```

#### schema.properties.choices.maxItems

```ts
readonly maxItems: 100 = 100;
```

#### schema.properties.choices.type

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

#### schema.properties.respondingTo

```ts
readonly respondingTo: object & object;
```

##### Type Declaration

###### maxLength

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

###### minLength?

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

###### type

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

###### x-kind

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

#### schema.required

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

#### schema.type

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

### title

```ts
readonly title: "Vote" = 'Vote';
```

### topics

```ts
readonly topics: readonly ["respondingTo"];
```
