import { RichTextField } from "../types/value/richText.cjs";

//#region src/helpers/asText.d.ts

/**
 * Configuration that determines the output of `asText()`.
 */
type AsTextConfig = {
  /**
   * Separator used to join each element.
   *
   * @defaultValue ` ` (a space)
   */
  separator?: string;
};
/**
 * @deprecated Use object-style configuration instead.
 */
type AsTextDeprecatedTupleConfig = [separator?: string];
/**
 * The return type of `asText()`.
 */
type AsTextReturnType<Field extends RichTextField | null | undefined> = Field extends RichTextField ? string : null;
declare const asText: {
  /**
   * Converts a rich text field to a plain text string.
   *
   * @example
   *
   * ```ts
   * const text = asText(document.data.content)
   * // => "Hello world"
   * ```
   *
   * @param richTextField - A rich text field from Prismic.
   * @param config - Configuration that determines the output of `asText()`.
   *
   * @returns Plain text equivalent of the rich text field, or `null` if the
   *   field is empty.
   *
   * @see Learn how to work with rich text fields: {@link https://prismic.io/docs/fields/rich-text}
   */
  <Field extends RichTextField | null | undefined>(richTextField: Field, config?: AsTextConfig): AsTextReturnType<Field>;
  /**
   * Converts a rich text field to a plain text string.
   *
   * @deprecated Use object-style configuration instead.
   *
   * @param richTextField - A rich text field from Prismic.
   * @param separator - Separator used to join each element. Defaults to a
   *   space.
   *
   * @returns Plain text equivalent of the rich text field, or `null` if the
   *   field is empty.
   *
   * @see Learn how to work with rich text fields: {@link https://prismic.io/docs/fields/rich-text}
   */
  <Field extends RichTextField | null | undefined>(richTextField: Field, ...config: AsTextDeprecatedTupleConfig): AsTextReturnType<Field>;
};
//#endregion
export { asText };
//# sourceMappingURL=asText.d.cts.map