/**
 * Format helper methods for the Node SDK.
 *
 * These are hand-written convenience wrappers that call the canonical
 * `format.apply` operation with pre-filled inline directives. They are NOT generated
 * from the contract and will not be overwritten by `pnpm run generate:all`.
 *
 * Usage:
 * ```ts
 * import { createSuperDocClient } from 'superdoc';
 * import { formatBold, unformatBold, clearBold } from 'superdoc/helpers/format';
 *
 * const client = createSuperDocClient();
 * await client.connect();
 * const doc = await client.open({ doc: './file.docx' });
 *
 * // Apply bold ON:
 * await formatBold(doc.format.apply, { target: { kind: 'text', blockId: 'p1', range: { start: 0, end: 5 } } });
 *
 * // Apply explicit bold OFF (override style inheritance):
 * await unformatBold(doc.format.apply, { blockId: 'p1', start: 0, end: 5 });
 *
 * // Clear direct bold formatting (inherit from style cascade):
 * await clearBold(doc.format.apply, { blockId: 'p1', start: 0, end: 5 });
 * ```
 */
import type { InvokeOptions } from '../runtime/transport-common.js';
export interface FormatHelperParams {
    target?: {
        kind: 'text';
        blockId: string;
        range: {
            start: number;
            end: number;
        };
    };
    /** Flat-flag shorthand for target.blockId (normalized before dispatch). */
    blockId?: string;
    /** Flat-flag shorthand for target.range.start (normalized before dispatch). */
    start?: number;
    /** Flat-flag shorthand for target.range.end (normalized before dispatch). */
    end?: number;
    dryRun?: boolean;
    changeMode?: 'direct' | 'tracked';
    expectedRevision?: string;
}
/**
 * Bound format.apply method from a document handle.
 * Signature matches `doc.format.apply(params, options)`.
 */
type FormatApplyFn = (params?: Record<string, unknown>, options?: InvokeOptions) => Promise<unknown>;
/** Apply bold ON. Equivalent to `format.apply` with `inline: { bold: 'on' }`. */
export declare function formatBold(apply: FormatApplyFn, params?: FormatHelperParams, options?: InvokeOptions): Promise<unknown>;
/** Apply italic ON. Equivalent to `format.apply` with `inline: { italic: 'on' }`. */
export declare function formatItalic(apply: FormatApplyFn, params?: FormatHelperParams, options?: InvokeOptions): Promise<unknown>;
/** Apply underline ON. Equivalent to `format.apply` with `inline: { underline: 'on' }`. */
export declare function formatUnderline(apply: FormatApplyFn, params?: FormatHelperParams, options?: InvokeOptions): Promise<unknown>;
/** Apply strikethrough ON. Equivalent to `format.apply` with `inline: { strike: 'on' }`. */
export declare function formatStrikethrough(apply: FormatApplyFn, params?: FormatHelperParams, options?: InvokeOptions): Promise<unknown>;
/** Apply bold OFF. Equivalent to `format.apply` with `inline: { bold: 'off' }`. */
export declare function unformatBold(apply: FormatApplyFn, params?: FormatHelperParams, options?: InvokeOptions): Promise<unknown>;
/** Apply italic OFF. Equivalent to `format.apply` with `inline: { italic: 'off' }`. */
export declare function unformatItalic(apply: FormatApplyFn, params?: FormatHelperParams, options?: InvokeOptions): Promise<unknown>;
/** Apply underline OFF. Equivalent to `format.apply` with `inline: { underline: 'off' }`. */
export declare function unformatUnderline(apply: FormatApplyFn, params?: FormatHelperParams, options?: InvokeOptions): Promise<unknown>;
/** Apply strikethrough OFF. Equivalent to `format.apply` with `inline: { strike: 'off' }`. */
export declare function unformatStrikethrough(apply: FormatApplyFn, params?: FormatHelperParams, options?: InvokeOptions): Promise<unknown>;
/** Clear bold formatting. Equivalent to `format.apply` with `inline: { bold: 'clear' }`. */
export declare function clearBold(apply: FormatApplyFn, params?: FormatHelperParams, options?: InvokeOptions): Promise<unknown>;
/** Clear italic formatting. Equivalent to `format.apply` with `inline: { italic: 'clear' }`. */
export declare function clearItalic(apply: FormatApplyFn, params?: FormatHelperParams, options?: InvokeOptions): Promise<unknown>;
/** Clear underline formatting. Equivalent to `format.apply` with `inline: { underline: 'clear' }`. */
export declare function clearUnderline(apply: FormatApplyFn, params?: FormatHelperParams, options?: InvokeOptions): Promise<unknown>;
/** Clear strikethrough formatting. Equivalent to `format.apply` with `inline: { strike: 'clear' }`. */
export declare function clearStrikethrough(apply: FormatApplyFn, params?: FormatHelperParams, options?: InvokeOptions): Promise<unknown>;
export {};
//# sourceMappingURL=format.d.ts.map