;
}
export interface ImageDirectiveConfig {
/**
* Alias for the `image` directive.
* E.g., `'img'` matches `:::image-*` and `:::img-*`,
* where `*` must be a valid HTML tag.
*/
alias?: string | string[] | null | undefined;
/**
* Properties for the generated `img` element.
*/
imgProps?: PropertiesFromContainerDirective | Properties | null | undefined;
/**
* Controls which image attributes win when both `imgProps` and a per-image
* attribute plugin set the same property.
*
* Use `'imgProps'` to let the config win, or `'hProperties'` to let
* per-image attributes win. Classes are always combined.
*
* @default 'imgProps'
*/
imgPropsPriority?: 'imgProps' | 'hProperties' | undefined;
/**
* Properties for the generated `figure` element.
*/
figureProps?: PropertiesFromContainerDirective | Properties | null | undefined;
/**
* Properties for the generated `figcaption` element.
*
* Note that `{}` in `:::image-figure[]{}` will override these properties,
* except `className`, which is appended.
*/
figcaptionProps?: PropertiesFromContainerDirective | Properties | null | undefined;
/**
* Properties for the other
* {@link https://github.com/lin-stephanie/remark-directive-sugar/blob/main/src/directives/image.ts#L14 valid HTML element}.
*
* Note that `{}` in `:::image-*[]{}` will override these properties,
* except `className`, which is appended.
*/
elementProps?: PropertiesFromContainerDirective | Properties | null | undefined;
/**
* Whether to remove `` that directly wrap `
`.
*
* @default true
*/
stripParagraph?: boolean;
}
export interface Options {
/**
* Configures the `:badge-[*]` directive.
*/
badge?: BadgeDirectiveConfig;
/**
* Configures the `:link` directive.
*/
link?: LinkDirectiveConfig;
/**
* Configures the `::video[-*]` directive.
*/
video?: VideoDirectiveConfig;
/**
* Configures the `:::image-*` directive.
*/
image?: ImageDirectiveConfig;
}