export { I as InjectStyleElements, i as injectStyleElementsPropsSchema } from './_dtsroll-chunks/Cha1SOtx-botframework-webchat-styles.react.js';
import * as React__default from 'react';
import React__default__default, { ComponentType, ReactElement, DependencyList } from 'react';
import * as valibot from 'valibot';
import { InferOutput, BaseSchema, BaseIssue, OptionalSchema, PicklistSchema } from 'valibot';
import { WebChatActivity } from 'botframework-webchat-core';
export { __INTERNAL_DO_NOT_USE__avatarPolymiddlewareRequestStyleOptionsSymbol } from 'botframework-webchat-api/internal.js';

type HighlightCodeFn = (code: string, language?: string | undefined, options?: {
    theme: string;
} | undefined) => string | DocumentFragment;
declare function useCodeHighlighter(): HighlightCodeFn;
declare const CodeHighlighterComposer: React__default.MemoExoticComponent<({ children, highlightCode }: Readonly<{
    children: React__default.ReactNode;
    highlightCode: HighlightCodeFn;
}>) => React__default.JSX.Element>;

declare const partGroupingPropsSchema: valibot.SchemaWithPipe<readonly [valibot.ObjectSchema<{
    readonly activities: valibot.SchemaWithPipe<readonly [valibot.ArraySchema<valibot.CustomSchema<Readonly<WebChatActivity>, undefined>, undefined>, valibot.MinLengthAction<Readonly<WebChatActivity>[], 1, "botframework-webchat: \"activities\" must have at least 1 activity">, valibot.ReadonlyAction<Readonly<WebChatActivity>[]>]>;
    readonly children: valibot.OptionalSchema<valibot.CustomSchema<React__default__default.ReactNode, undefined>, undefined>;
}, undefined>, valibot.ReadonlyAction<{
    readonly activities: readonly Readonly<WebChatActivity>[];
    children?: React__default__default.ReactNode;
}>]>;
type PartGroupingProps = InferOutput<typeof partGroupingPropsSchema>;
declare function PartGrouping(props: PartGroupingProps): React__default__default.JSX.Element;
declare const _default$1: React__default__default.MemoExoticComponent<typeof PartGrouping>;

/**
 * Pushes a node to the live region.
 *
 * Once the node is pushed, it cannot be undoed.
 *
 * @param createNode Create node to be pushed to the live region.
 * @param deps Will push a new node if the values in the list change.
 */
declare function useLiveRegion(createNode: () => false | null | ReactElement | string | undefined, deps: DependencyList): void;

declare const _default: React__default__default.MemoExoticComponent<React__default__default.ForwardRefExoticComponent<{
    'aria-hidden'?: boolean;
    id?: string;
    text: string;
} & React__default__default.RefAttributes<HTMLDivElement>>>;

type CSSModuleClasses = {
    readonly [key: string]: any;
};
type Prefixes<T> = T extends `${infer P}--${string}` ? P : never;
type SuffixesOf<Prefix extends string, T> = T extends `${Prefix}--${infer S}` ? S : never;
type ModifierMap<T> = {
    [P in Prefixes<keyof T>]?: SuffixesOf<P, keyof T>;
};
type SafeModifierList<TCSSModuleClasses> = keyof ModifierMap<TCSSModuleClasses> extends never ? string : keyof ModifierMap<TCSSModuleClasses>;
type ModifierSchemaEntry = OptionalSchema<PicklistSchema<readonly [string, ...string[]], undefined>, undefined>;
type IconModifierPropsSchema<TModifiers extends string> = BaseSchema<Partial<Record<TModifiers, string>>, Readonly<Partial<Record<TModifiers, string>>>, BaseIssue<unknown>> & {
    readonly entries: Partial<Record<TModifiers, ModifierSchemaEntry>>;
};
declare function createIconComponent<const TProps extends {
    className?: string | undefined;
}, const TModifiers extends SafeModifierList<TCSSModuleClasses>, const TCSSModuleClasses extends CSSModuleClasses>(styles: TCSSModuleClasses, modifiers: TModifiers[], BaseIcon: ComponentType<TProps>): {
    component: ComponentType<(TModifiers extends Prefixes<keyof TCSSModuleClasses> ? Pick<ModifierMap<TCSSModuleClasses>, TModifiers> : Partial<Record<TModifiers, string>>) & TProps>;
    modifierPropsSchema: IconModifierPropsSchema<TModifiers>;
};

declare function parseDocumentFragmentFromString(html: string): DocumentFragment;

declare function serializeDocumentFragmentIntoString(documentFragment: DocumentFragment): string;

export { CodeHighlighterComposer, _default$1 as PartGrouping, _default as ScreenReaderText, createIconComponent, parseDocumentFragmentFromString, serializeDocumentFragmentIntoString, useCodeHighlighter, useLiveRegion };
export type { HighlightCodeFn };
