import { CommentData_V1 } from "@ibgib/core-gib/dist/common/comment/comment-types.mjs"; import { IbGib_V1, IbGibRel8ns_V1 } from "@ibgib/ts-gib/dist/V1/types.mjs"; import { AGENT_REL8N_NAME } from "../../witness/agent/agent-constants.mjs"; import { IbGibAddr } from "@ibgib/ts-gib/dist/types.mjs"; export declare const DEFAULT_PROJECT_TEXT = "default project text"; export declare const DEFAULT_PROJECT_NAME = "untitled_project"; export declare const DEFAULT_PROJECT_DESCRIPTION = "This is an ibgib project. "; /** * Default rel8ns values for a Project. Includes inherited defaults from IbGib. */ export declare const DEFAULT_PROJECT_REL8NS_V1: ProjectRel8ns_V1 | undefined; /** * Represents the data structure for a Project ibGib. * Contains the core information defining a project. */ export interface ProjectData_V1 extends CommentData_V1 { /** * Description of the project. * This can be a more detailed explanation of the project's purpose or scope. * Optional. */ description?: string; } /** * Represents the relationships structure for a Project ibGib. * Currently holds standard ibGib relationships but can be extended * in the future if projects require specific relationship types (e.g., rel8n_tasks). */ export interface ProjectRel8ns_V1 extends IbGibRel8ns_V1 { [AGENT_REL8N_NAME]?: IbGibAddr[]; } /** * Represents a fully formed Project ibGib, combining its data and relationships. * This is the primary type used when interacting with Project ibGibs. */ export interface ProjectIbGib_V1 extends IbGib_V1 { } /** * Default data values for a Project. Includes inherited defaults from Comment/IbGib. */ export declare const DEFAULT_PROJECT_DATA_V1: ProjectData_V1; /** * Represents the parsed information extracted from the `addlMetadataText` * segment within a project's `ib` string. This segment follows the `safeName` * and is delimited by underscores internally if multiple fields are present. */ export interface ProjectAddlMetadataInfo { /** * Ticks version of the timestamp derived from ibgib.data.timestamp. * This value is encoded within the addlMetadataText segment of the ib string. */ timestampInTicks: number; } /** * Represents the parsed information extracted from a project's `ib` string. * The `ib` string contains core metadata encoded for efficient referencing. * * @see {@link getProjectIb} for ib schema */ export interface ProjectIbInfo { /** The atom identifier (must be 'project'). Checked during parsing. */ atom: 'project'; /** * A 'saferized', often truncated, version of the name (project title). * Extracted as the first space-delimited segment after the atom. */ safeName: string; /** * The raw string containing underscore-delimited additional metadata (e.g., "1678886400000"). * Extracted as the second space-delimited segment after safeName. * * @see {@link addlMetadata} */ addlMetadataText: string; /** * The parsed content of the addlMetadataText segment. * * @see {@link addlMetadataText} */ addlMetadata: ProjectAddlMetadataInfo; } export declare const LENS_MODE_RAW = "raw"; export declare const LENS_MODE_TEXT = "text"; export declare const LENS_MODE_MINIGAME = "minigame"; export type LensMode = typeof LENS_MODE_RAW | typeof LENS_MODE_TEXT | typeof LENS_MODE_MINIGAME; export declare const LensMode: { raw: "raw"; text: "text"; minigame: "minigame"; }; //# sourceMappingURL=project-types.d.mts.map