import type { Division, DivisionType } from "../../types/sections"; import type { SourceFormat } from "../../types/editor"; /** Draft state for the inline division edit form. */ export interface EditDraft { title: string; type: DivisionType; xmlId: string; label: string; sourceFormat: SourceFormat; } export declare const SOURCE_FORMAT_LABELS: Record; export declare const TYPE_LABELS: Record; export declare const TYPE_FULL_LABELS: Record; /** Division types that can be freely reordered (not positionally constrained). */ export declare const REGULAR_DIVISION_TYPES: DivisionType[]; /** Returns true for division types that can be freely reordered. */ export declare function isRegularDivision(type: string): boolean; /** * Which division types may be placed as a direct child of a given parent * division type. Not yet populated — add entries here as the nesting rules * are defined (e.g. `book: ["part", "chapter"]`). * A parent type with no entry falls back to every regular division type * being selectable, so the dropdown is unrestricted until a rule exists. */ export declare const ALLOWED_CHILD_DIVISION_TYPES: Partial>; /** * Returns the division types that should be offered in the "Type" dropdown * for a division nested under `parentType`. `parentType` is `null` for * divisions that aren't currently placed under any parent (e.g. unplaced * orphans), in which case every regular type remains selectable. */ export declare function getSelectableDivisionTypes(parentType: DivisionType | null): DivisionType[]; /** Introduction must be first, conclusion must be last within a parent. */ export declare function validateDivisionOrder(divisions: Division[]): boolean;