import type { Attachment, Background, DataTable, DocString, Examples, Feature, GherkinDocument, PickleDocString, PickleTable, PickleTag, Rule, Scenario, Tag, TestStepResultStatus } from '@cucumber/messages'; import { type FC, type FunctionComponent, type PropsWithChildren, type ReactNode } from 'react'; type Styles = Record; export interface AnchorProps { id: string; children: ReactNode; } export type AnchorClasses = Styles<'wrapper' | 'anchor'>; export interface AttachmentProps { attachment: Attachment; } export type AttachmentClasses = Styles<'text' | 'copyButton' | 'log' | 'icon' | 'image' | 'links'>; export interface BackgroundProps { background: Background; } export interface ChildrenProps { children: ReactNode; } export type ChildrenClasses = Styles<'children'>; export interface DataTableProps { dataTable: DataTable | PickleTable; } export type DataTableClasses = Styles<'table'>; export interface DescriptionProps { description?: string; } export type DescriptionClasses = Styles<'content'>; export interface DocStringProps { docString: DocString | PickleDocString; } export type DocStringClasses = Styles<'docString'>; export interface ErrorMessageProps { message?: string; children?: ReactNode; } export type ErrorMessageClasses = Styles<'message' | 'copyButton'>; export interface ExamplesProps { examples: Examples; } export interface FeatureProps { feature: Feature; } export interface GherkinDocumentProps { gherkinDocument: GherkinDocument; } export type Header = 'h1' | 'h2' | 'h3' | 'h4' | 'h5'; export interface KeywordProps { children: ReactNode; } export type KeywordClasses = Styles<'keyword'>; export interface ParameterProps { parameterTypeName: string; value: string; children: ReactNode; } export type ParameterClasses = Styles<'parameter'>; export interface StatusIconProps { status: TestStepResultStatus; } export interface RuleProps { rule: Rule; } export interface ScenarioProps { scenario: Scenario; } export type StatusIconClasses = Styles<'icon'>; export interface TagsProps { tags: readonly Tag[] | readonly PickleTag[]; } export type TagsClasses = Styles<'tags' | 'tag'>; export interface TitleProps { header: Header; id: string; children: ReactNode; } export type TitleClasses = Styles<'title'>; export declare type DefaultComponent = Record> = FunctionComponent; export declare type CustomisedComponent> = FunctionComponent; }>; export declare type Customised> = CustomisedComponent | Partial; export interface CustomRenderingSupport { Anchor?: Customised; Attachment?: Customised; Background?: Customised; Children?: Customised; DataTable?: Customised; Description?: Customised; DocString?: Customised; ErrorMessage?: Customised; Examples?: Customised; Feature?: Customised; GherkinDocument?: Customised; Keyword?: Customised; Parameter?: Customised; Rule?: Customised; Scenario?: Customised; StatusIcon?: Customised; Tags?: Customised; Title?: Customised; } export declare type CustomRenderable = keyof CustomRenderingSupport; export declare const CustomRenderingContext: import("react").Context; export declare function useCustomRendering = Record>(component: CustomRenderable, defaultStyles: Record, DefaultRenderer: DefaultComponent): FunctionComponent; export declare const CustomRendering: FC>; export {}; //# sourceMappingURL=CustomRendering.d.ts.map