import { ConfigProviderProps } from 'antdv-next';
import { ComputedRef, CSSProperties, StyleValue } from 'vue';
import { ActionsProps } from '../actions';
import { AttachmentsProps } from '../attachments';
import { BubbleProps } from '../bubble';
import { CodeHighlighterProps } from '../code-highlighter';
import { ConversationsProps } from '../conversations';
import { FileCardProps } from '../file-card';
import { FolderProps } from '../folder';
import { MermaidProps } from '../mermaid';
import { PromptsProps } from '../prompts';
import { SenderProps } from '../sender';
import { SourcesProps } from '../sources';
import { SuggestionProps } from '../suggestion';
import { DesignTokenProviderProps } from '../theme/context';
import { ThinkProps } from '../think';
import { ThoughtChainProps } from '../thought-chain';
import { WelcomeProps } from '../welcome';
export interface BaseComponentConfig {
    style?: StyleValue;
    styles?: Record<string, CSSProperties>;
    classes?: Record<string, string>;
}
export interface XComponentConfig extends BaseComponentConfig {
    shortcutKeys?: Record<string, any>;
}
export interface XComponentsConfig {
    attachments?: Pick<AttachmentsProps, "style" | "styles" | "classes">;
    bubble?: Pick<BubbleProps, "style" | "styles" | "classes">;
    conversations?: Pick<ConversationsProps, "style" | "styles" | "classes" | "shortcutKeys">;
    actions?: Pick<ActionsProps, "style" | "styles" | "classes">;
    sources?: Pick<SourcesProps, "style" | "styles" | "classes">;
    fileCard?: Pick<FileCardProps, "style" | "styles" | "classes">;
    codeHighlighter?: Pick<CodeHighlighterProps, "style" | "styles" | "classes">;
    folder?: Pick<FolderProps, "style" | "styles" | "classes">;
    mermaid?: Pick<MermaidProps, "style" | "styles" | "classes">;
    prompts?: Pick<PromptsProps, "style" | "styles" | "classes">;
    sender?: Pick<SenderProps, "style" | "styles" | "classNames"> & {
        classes?: SenderProps["classNames"];
    };
    suggestion?: Pick<SuggestionProps, "style" | "styles" | "classes">;
    think?: Pick<ThinkProps, "style" | "styles" | "classes">;
    thoughtChain?: Pick<ThoughtChainProps, "style" | "styles" | "classes">;
    welcome?: Pick<WelcomeProps, "style" | "styles" | "classes">;
}
export interface XProviderProps extends XComponentsConfig, Omit<ConfigProviderProps, "theme"> {
    theme?: ConfigProviderProps["theme"] & {
        components?: DesignTokenProviderProps["components"];
        override?: DesignTokenProviderProps["override"];
    };
}
export declare const XProviderContextKey: symbol;
export declare function useXProviderContextData(): ComputedRef<XComponentsConfig>;
