import { ActorAssignment, DateAssignment, ObjectAssumption } from "./Assumption.js"; import { Concept, Named, Software } from "./Agent.js"; import { ConditionState } from "./ConditionState.js"; import { WithNote } from "../shared/utils.js"; /** * What a copy's features were read from. The kinds run from the paper * itself, through files in which the roll has already been read into * notes and commands, to a sound recording of the copy being played. * @category Vocabulary */ export declare const sourceKinds: readonly ['roll', 'scan', 'analysis', 'reading', 'emulation', 'recording']; /** * A kind of source a copy's features can be read from, from the paper * itself to a sound recording of the copy being played. * @category Format types */ export type SourceKind = typeof sourceKinds[number]; /** * How each kind of source is referred to in prose. * @category Vocabulary */ export declare const sourceLabels: Record; /** * Whether a source of this kind gives positions that were measured. A * roll reader measures when each perforation passes its bar. An * emulation and a recording give the reading somebody else made: the * roll has been turned into notes and commands already, and turning * those back into chains of holes reconstructs them. * @category Lookups */ export declare const isMeasured: (kind: SourceKind) => boolean; /** * Whether a source of this kind bears witness to the paper. Punch * diameter, hole separation, punching pattern, marks and writings can * be observed on the roll and on an image of it, and on nothing else. * @category Lookups */ export declare const bearsPhysicalEvidence: (kind: SourceKind) => boolean; export type { Software } from "./Agent.js"; /** * An instrument a copy was played on to be recorded. How it was * regulated, where that is known, is its condition. * @see crm:E22 Human-Made Object * @category Format types */ export interface Instrument extends Named { /** * @see crm:P44 has condition */ condition?: ObjectAssumption>; } /** * The capture by which a copy's features became data: what they were * read from, who read them, on what device, with what software and * when. It states where the numbers of the edition come from and says * nothing about the state of the paper, which is a condition. * * What is not known is left out. A reader is told about the gap by * `reservationsAbout`, which works out what a copy cannot vouch for * from what it states here. * @see crm:E7 Activity * @category Format types */ export interface FeatureSource extends WithNote { /** * What the features were read from. * @see crm:P2 has type */ kind: SourceKind; /** * The file the capture produced, where it has an address. * @see crmdig:L11 had output */ output?: string; /** * Who carried out the capture. * @see crm:P14 carried out by */ actor?: ActorAssignment; /** * The make and model of the scanner, camera or player the capture * ran on. * @see crmdig:L12 happened on device */ device?: Concept; /** * The software the capture ran, each with its version. * @see crmdig:L23 used software or firmware */ software?: Software[]; /** * The instrument the copy was played on, where the capture is a * recording of it. * @see crm:P16 used specific object */ instrument?: ObjectAssumption; /** * When the capture took place. * @see crm:P4 has time-span */ date?: DateAssignment; }