import * as messages from '@cucumber/messages'; import React from 'react'; declare type Styles = Record; export interface AnchorProps { id: string; } export declare type AnchorClasses = Styles<'wrapper' | 'anchor'>; export interface AttachmentProps { attachment: messages.Attachment; } export declare type AttachmentClasses = Styles<'text' | 'icon' | 'image'>; export interface BackgroundProps { background: messages.Background; } export declare type BackgroundClasses = Styles<'steps'>; export declare type ChildrenProps = Record; export declare type ChildrenClasses = Styles<'children'>; export interface DataTableProps { dataTable: messages.DataTable; } export declare type DataTableClasses = Styles<'table'>; export interface DescriptionProps { description?: string; } export declare type DescriptionClasses = Styles<'content'>; export interface DocStringProps { docString: messages.DocString; } export declare type DocStringClasses = Styles<'docString'>; export interface ErrorMessageProps { message: string; } export declare type ErrorMessageClasses = Styles<'message'>; export interface ExamplesProps { examples: messages.Examples; } export interface ExamplesTableProps { tableHeader: messages.TableRow; tableBody: readonly messages.TableRow[]; } export declare type ExamplesTableClasses = Styles<'examplesTable' | 'detailRow'>; export interface FeatureProps { feature: messages.Feature; } export interface GherkinDocumentProps { gherkinDocument: messages.GherkinDocument; source?: messages.Source; } export interface GherkinStepProps { step: messages.Step; hasExamples: boolean; } export declare type Header = 'h1' | 'h2' | 'h3' | 'h4' | 'h5'; export interface HookStepProps { step: messages.TestStep; } export declare type KeywordClasses = Styles<'keyword'>; export interface ParameterProps { parameterTypeName: string; } export declare type ParameterClasses = Styles<'parameter'>; export interface StatusIconProps { status: messages.TestStepResultStatus; } export interface RuleProps { rule: messages.Rule; } export interface ScenarioProps { scenario: messages.Scenario; } export declare type ScenarioClasses = Styles<'steps'>; export declare type StatusIconClasses = Styles<'icon'>; export interface StepListProps { steps: readonly messages.Step[]; hasExamples: boolean; } export interface TagsProps { tags: readonly messages.Tag[]; } export declare type TagsClasses = Styles<'tags' | 'tag'>; export interface TitleProps { header: Header; id: string; } export declare type TitleClasses = Styles<'title'>; export declare type DefaultComponent = Record> = React.FunctionComponent; export declare type CustomisedComponent> = React.FunctionComponent; }>; export declare type Customised> = CustomisedComponent | Partial; export interface CustomRenderingSupport { Anchor?: Customised; Background?: Customised; Attachment?: Customised; Children?: Customised; DataTable?: Customised; Description?: Customised; DocString?: Customised; ErrorMessage?: Customised; Examples?: Customised; ExamplesTable?: Customised; Feature?: Customised; GherkinDocument?: Customised; GherkinStep?: Customised; HookStep?: Customised; Keyword?: Customised; Parameter?: Customised; Rule?: Customised; Scenario?: Customised; StatusIcon?: Customised; StepList?: Customised; Tags?: Customised; Title?: Customised; } export declare type CustomRenderable = keyof CustomRenderingSupport; export declare const CustomRenderingContext: React.Context; export declare function useCustomRendering = Record>(component: CustomRenderable, defaultStyles: Record, DefaultRenderer: DefaultComponent): React.FunctionComponent; export {}; //# sourceMappingURL=customRendering.d.ts.map