import type { FolioConfig, FolioPaperFinish, FolioPaperTexture, FolioPaperType, PageSizePreset, ResolvedFolioConfig } from '../types.js'; /** A paper stock's trade defaults: weight (g/m²), bulk (cm³/g, so caliper * µm = grammage × bulk), finish, surface texture and shade. */ export interface FolioPaperStock { grammage: number; bulk: number; finish: Exclude; texture: Exclude; shade: string; } /** Typical values for each stock, from mill data sheets: uncoated * woodfree offset; bulky book wove in natural / cream (the Munken and * Holmen Book kind); coated matte, silk and gloss (art) papers, thinner * for their weight as the coating is calendered; bible (India) paper; and * newsprint; cover card; and rigid board (about 2 mm). */ export declare const FOLIO_PAPER_STOCKS: Readonly>; export declare const DEFAULT_FOLIO_CONFIG: ResolvedFolioConfig; /** The trims that are newspapers (#506). */ export declare const NEWSPAPER_SIZE_PRESETS: readonly PageSizePreset[]; export declare const isNewspaperSizePreset: (preset: PageSizePreset | undefined) => boolean; /** The book Folio shows on a newspaper trim: sheets of newsprint folded * once and laid one inside the other. */ export declare const NEWSPAPER_FOLIO_CONFIG: ResolvedFolioConfig; /** The defaults `config.folio` falls back to on a page of this trim: a * newspaper's newsprint and fold, a book's woodfree offset and hardcover * otherwise. */ export declare function folioDefaultsFor(sizePreset?: PageSizePreset): ResolvedFolioConfig; /** `config.folio` with the stock and the binding its trim implies written * in where it names none: on a newspaper trim (`broadsheet`, `berliner`, * `tabloid`, `compact`) `paper.type: 'newsprint'` and `binding.type: * 'folded'`. A stock or binding the config names is kept. Other trims * return it unchanged. */ export declare function folioForTrim(folio: FolioConfig | undefined, sizePreset: PageSizePreset | undefined): FolioConfig | undefined; /** The lowest the view may be tilted, as the viewer's orbit allows. */ export declare const FOLIO_MAX_TILT = 70; /** An angle in degrees brought into −180 … 180 (a whole turn is no turn). */ export declare function wrapFolioYaw(deg: number): number; /** `config.folio` with every setting filled in: a paper's unset fields * follow its stock, `auto` finishes and textures too, and the cover * material follows the binding. `sizePreset`, the page's trim, picks the * stock and binding left unset (see {@link folioForTrim}). */ export declare function resolveFolioConfig(config?: FolioConfig, sizePreset?: PageSizePreset): ResolvedFolioConfig; /** `config.folio` without the settings equal to their defaults (a paper's * against its stock's); undefined when nothing is left. The defaults are * those of the page's trim (`sizePreset`): on a newspaper a `newsprint` * stock and a `folded` binding go, a woodfree or hardcover one stays. */ export declare function stripFolioDefaults(folio?: FolioConfig, sizePreset?: PageSizePreset): FolioConfig | undefined; //# sourceMappingURL=folio.d.ts.map