import type { CSSPropertiesWithVars } from '../types/css';
import type { PPTTextElement, TextAlign } from '../types/slides';
import { isListPlaceholderType, placeholderAlignOf } from '../configs/textPresets';
import type { PlaceholderStyleOptions } from './prosemirror/commands/applyPlaceholderStyles';
export { isListPlaceholderType, placeholderAlignOf };
export declare const EMPTY_LIST_HTML = "
";
export declare const EMPTY_PARA_HTML = "";
export declare const isEmptyRichText: (html?: string) => boolean;
export declare const isUnfilledPlaceholder: (el: {
placeholder?: string;
content?: string;
}) => boolean;
/** Slide previews paint authored text only. Empty placeholder prompts stay on the canvas. */
export declare const shouldRasterPreviewText: (el: {
placeholder?: string;
content?: string;
}) => boolean;
/** Rewrite leaked prompt-size marks (36 on a cover title) back to the typed size. */
export declare const repairFilledPlaceholderHtml: (el: {
placeholder?: string;
textType?: string;
placeholderFontSize?: number;
}, html: string) => string;
export declare const isListPlaceholder: (el: {
placeholder?: string;
textType?: string;
}) => boolean;
/**
* Ghost prompt markup for previews that render unfilled placeholders (layout
* picker cards). Typography mirrors the empty-phase CSS prompt: prompt size,
* prompt weight, normal style, slot align, resolved placeholder ink.
*/
export declare const placeholderPromptHtml: (el: {
placeholder?: string;
textType?: string;
placeholderFontSize?: number;
placeholderAlign?: TextAlign;
}, color: string) => string;
export declare const emptyPlaceholderHtml: (el: {
placeholder?: string;
textType?: string;
}) => "" | "";
export type PlaceholderPhase = 'empty' | 'filled';
export declare const placeholderPhase: (empty: boolean) => PlaceholderPhase;
/** Empty-prompt styles must never rewrite typed text (that is how 66 collapses to 36). */
export declare const shouldSkipPlaceholderStyleApply: (input: {
docEmpty: boolean;
phaseHint?: PlaceholderPhase;
fontSize?: string;
}) => boolean;
export declare const placeholderSeed: (el: {
placeholderFontSize?: number;
placeholderAlign?: TextAlign;
placeholderBold?: boolean;
placeholderItalic?: boolean;
defaultFontName?: string;
textType?: string;
}, phase: PlaceholderPhase, color: string) => PlaceholderStyleOptions;
export declare const placeholderBoxVars: (el: PPTTextElement, empty: boolean, promptColor: string) => CSSPropertiesWithVars;
export declare const placeholderChrome: (input: {
placeholder?: string;
empty: boolean;
editing: boolean;
}) => {
editorMounted: boolean;
showPrompt: boolean;
hidePrompt: boolean;
};