/** * JSON Schema definition for Kakiato v0.1 documents. */ export declare const hrefDocumentSchema: { readonly $schema: "http://json-schema.org/draft-07/schema#"; readonly $id: "https://kakiato.dev/schemas/v0.1/document.json"; readonly title: "Kakiato Document"; readonly type: "object"; readonly additionalProperties: false; readonly required: readonly ["version", "session", "initial_text", "events"]; readonly properties: { readonly version: { readonly const: "0.1"; }; readonly session: { readonly $ref: "#/definitions/SessionMeta"; }; readonly initial_text: { readonly type: "string"; }; readonly events: { readonly type: "array"; readonly items: { readonly $ref: "#/definitions/Event"; }; }; }; readonly definitions: { readonly SessionMeta: { readonly type: "object"; readonly additionalProperties: false; readonly required: readonly ["id", "user_agent", "lang", "device", "source"]; readonly properties: { readonly id: { readonly type: "string"; }; readonly user_agent: { readonly type: "string"; }; readonly lang: { readonly type: "string"; }; readonly device: { readonly type: "string"; }; readonly source: { readonly type: "string"; }; readonly meta: { readonly type: "object"; readonly additionalProperties: true; }; }; }; readonly Modifiers: { readonly type: "object"; readonly additionalProperties: { readonly type: "boolean"; }; readonly properties: { readonly shift: { readonly type: "boolean"; }; readonly ctrl: { readonly type: "boolean"; }; readonly alt: { readonly type: "boolean"; }; readonly meta: { readonly type: "boolean"; }; }; }; readonly SelectionPosition: { readonly type: "object"; readonly additionalProperties: false; readonly required: readonly ["index"]; readonly properties: { readonly index: { readonly type: "number"; }; readonly affinity: { readonly type: "string"; readonly enum: readonly ["forward", "backward", "none"]; readonly nullable: true; }; }; }; readonly CompositionSegment: { readonly type: "object"; readonly additionalProperties: false; readonly required: readonly ["text"]; readonly properties: { readonly text: { readonly type: "string"; }; readonly highlight: { readonly type: "boolean"; }; }; }; readonly EventBase: { readonly type: "object"; readonly additionalProperties: true; readonly required: readonly ["time", "type"]; readonly properties: { readonly time: { readonly type: "number"; }; readonly type: { readonly type: "string"; }; readonly pos: { readonly type: "number"; }; readonly modifiers: { readonly $ref: "#/definitions/Modifiers"; }; readonly meta: { readonly type: "object"; readonly additionalProperties: true; }; }; }; readonly KeyboardEvent: { readonly allOf: readonly [{ readonly $ref: "#/definitions/EventBase"; }, { readonly properties: { readonly type: { readonly enum: readonly ["keydown", "keyup"]; }; readonly key: { readonly type: "string"; }; readonly code: { readonly type: "string"; }; }; readonly required: readonly ["key", "code"]; readonly additionalProperties: true; }]; }; readonly InputEvent: { readonly allOf: readonly [{ readonly $ref: "#/definitions/EventBase"; }, { readonly properties: { readonly type: { readonly enum: readonly ["beforeinput", "input"]; }; readonly inputType: { readonly type: "string"; }; readonly data: { readonly type: readonly ["string", "null"]; }; readonly text: { readonly type: readonly ["string", "null"]; }; }; readonly required: readonly ["inputType"]; readonly additionalProperties: true; }]; }; readonly CompositionEvent: { readonly allOf: readonly [{ readonly $ref: "#/definitions/EventBase"; }, { readonly properties: { readonly type: { readonly enum: readonly ["compositionstart", "compositionupdate", "compositionend"]; }; readonly data: { readonly type: "string"; }; readonly segments: { readonly type: "array"; readonly items: { readonly $ref: "#/definitions/CompositionSegment"; }; }; }; readonly additionalProperties: true; }]; }; readonly SelectionChangeEvent: { readonly allOf: readonly [{ readonly $ref: "#/definitions/EventBase"; }, { readonly properties: { readonly type: { readonly enum: readonly ["selectionchange"]; }; readonly anchor: { readonly $ref: "#/definitions/SelectionPosition"; }; readonly focus: { readonly $ref: "#/definitions/SelectionPosition"; }; }; readonly required: readonly ["anchor", "focus"]; readonly additionalProperties: true; }]; }; readonly FocusEvent: { readonly allOf: readonly [{ readonly $ref: "#/definitions/EventBase"; }, { readonly properties: { readonly type: { readonly enum: readonly ["focus", "blur"]; }; }; readonly additionalProperties: true; }]; }; readonly CustomEvent: { readonly allOf: readonly [{ readonly $ref: "#/definitions/EventBase"; }, { readonly properties: { readonly type: { readonly enum: readonly ["custom"]; }; readonly label: { readonly type: "string"; }; readonly payload: { readonly type: "object"; readonly additionalProperties: true; }; }; readonly required: readonly ["label"]; readonly additionalProperties: true; }]; }; readonly Event: { readonly oneOf: readonly [{ readonly $ref: "#/definitions/KeyboardEvent"; }, { readonly $ref: "#/definitions/InputEvent"; }, { readonly $ref: "#/definitions/CompositionEvent"; }, { readonly $ref: "#/definitions/SelectionChangeEvent"; }, { readonly $ref: "#/definitions/FocusEvent"; }, { readonly $ref: "#/definitions/CustomEvent"; }]; }; }; }; export type HrefDocumentSchema = typeof hrefDocumentSchema; //# sourceMappingURL=schema.d.ts.map