export type PageFont = "default" | "song" | "kai";

export type PageLayoutDensity = "compact" | "normal" | "spacious";

export type BooleanPageOptionKey =
  | "wideLayout"
  | "smallText"
  | "showHeadingNumbers"
  | "showToc"
  | "protectEditing"
  | "showWordCount"
  | "collapseBacklinks"
  | "hideChildPages"
  | "showBlockRefCount";

export interface PageOptionsState {
  wideLayout: boolean;
  smallText: boolean;
  showHeadingNumbers: boolean;
  showToc: boolean;
  showStructure: boolean;
  protectEditing: boolean;
  showWordCount: boolean;
  collapseBacklinks: boolean;
  pageFont: PageFont;
  layoutDensity: PageLayoutDensity;
  hideChildPages: boolean;
  showBlockRefCount: boolean;
  embedDefaultBlockId: string | null;
}

export interface DocumentStats {
  wordCount: number;
  characterCount: number;
  blockCount: number;
  todoTotal: number;
  todoDone: number;
}
