export type PullMode = "up" | "down" | "none"
export type EdgeMode = "rising" | "falling" | "both"

export type InputOptions = {
  pull?: PullMode // default: 'up'
  debounce?: number // milliseconds, default: 0
  edge?: EdgeMode // default: 'both'
}

export type OutputOptions = {
  initialValue?: 0 | 1 // default: 0
  resetOnClose?: boolean // default: false
}

export type InputEvent = {
  value: 0 | 1
  timestamp: bigint // nanoseconds
}

export type ChipInfo = {
  path: string
  name: string
  label: string
  numLines: number
}
