import { TextAddress } from './address.js';
import { BlockNodeAddress } from './base.js';
import { ReceiptFailure, ReceiptInsert } from './receipt.js';
import { StoryLocator } from './story.types.js';
export type ParagraphCreateLocation = {
    kind: 'documentStart';
} | {
    kind: 'documentEnd';
} | {
    kind: 'before';
    target: BlockNodeAddress;
} | {
    kind: 'after';
    target: BlockNodeAddress;
};
export interface CreateParagraphInput {
    /** Target story for the new paragraph. Omit for body (backward compatible). */
    in?: StoryLocator;
    at?: ParagraphCreateLocation;
    text?: string;
}
export interface CreateParagraphSuccessResult {
    success: true;
    paragraph: BlockNodeAddress;
    insertionPoint: TextAddress;
    trackedChangeRefs?: ReceiptInsert[];
    /** Stable ref handle for the created block. Pass directly to superdoc_format or superdoc_edit without searching. */
    ref?: string;
}
export interface CreateParagraphFailureResult {
    success: false;
    failure: ReceiptFailure;
}
export type CreateParagraphResult = CreateParagraphSuccessResult | CreateParagraphFailureResult;
export type HeadingCreateLocation = ParagraphCreateLocation;
export type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
export interface CreateHeadingInput {
    /** Target story for the new heading. Omit for body (backward compatible). */
    in?: StoryLocator;
    level: HeadingLevel;
    at?: HeadingCreateLocation;
    text?: string;
}
export interface CreateHeadingSuccessResult {
    success: true;
    heading: BlockNodeAddress;
    insertionPoint: TextAddress;
    trackedChangeRefs?: ReceiptInsert[];
    /** Stable ref handle for the created block. Pass directly to superdoc_format or superdoc_edit without searching. */
    ref?: string;
}
export interface CreateHeadingFailureResult {
    success: false;
    failure: ReceiptFailure;
}
export type CreateHeadingResult = CreateHeadingSuccessResult | CreateHeadingFailureResult;
//# sourceMappingURL=create.types.d.ts.map