import type { CaptionStyleConfig, ColorPaletteEntry, ResolvedCaptionStyleConfig, ResolvedBodyTextConfig } from '../types.js'; /** What stands around a caption's number when the config sets nothing: * "Figure 1.7. " (a no-break space, then a stop and a space) in most * languages; in a Japanese document (`locale` `ja`, `ja-*`) the label and * the number solid and an ideographic space before the caption text, * with no stop (図1-1 東京の地図, JLReq §4.3). Chinese documents keep * the Latin defaults, as before (their books set the pair by hand). */ export declare function defaultCaptionLabels(locale?: string): { labelNumberGap: string; labelSeparator: string; }; /** Resolve a partial caption-style config. Font family, size, and colour (and * thus the label colour) inherit the resolved body text when unset, so a * document with no caption config renders exactly as before. The label's * gap and separator follow the document language `locale` when unset * ({@link defaultCaptionLabels}). */ export declare function resolveCaptionStyleConfig(partial: CaptionStyleConfig | undefined, bodyText: ResolvedBodyTextConfig, locale?: string): ResolvedCaptionStyleConfig; /** * Merge a partial per-resource-type caption override over an already-resolved * caption style. Only the keys defined in `override` replace the base; the * derived defaults follow the same rules as {@link resolveCaptionStyleConfig} * (an overridden `color` also drives the label and note colours unless those * were set explicitly, an overridden `fontSize` rescales the default note * size). Palette references inside the override (`ColorValue.paletteId`) * resolve against `palette` when given; the base is assumed resolved already. */ export declare function mergeCaptionStyle(base: ResolvedCaptionStyleConfig, override: CaptionStyleConfig | undefined, palette?: ColorPaletteEntry[]): ResolvedCaptionStyleConfig; /** Drop fields equal to their static default; inherited font/colour fields are * kept whenever explicitly set. The label's gap and separator are compared * with the defaults of the document language `locale` * ({@link defaultCaptionLabels}): a no-break space kept in a Japanese * document is no default there. Returns `undefined` when nothing remains. */ export declare function stripCaptionStyleDefaults(captionStyle: CaptionStyleConfig | undefined, locale?: string): CaptionStyleConfig | undefined; //# sourceMappingURL=captionStyle.d.ts.map