import { ColorModeProviderProps } from '@inkeep/color-mode';
import { type TokenCategory, Tokens, AiChatPageWrapperVariantProps, SearchBarTriggerVariantProps, HeadingVariantProps, AlertVariantProps, AvatarVariantProps, BadgeVariantProps, ButtonVariantProps, CardVariantProps, CheckboxVariantProps, CloseButtonVariantProps, CodeVariantProps, FormControlVariantProps, IconVariantProps, InputVariantProps, KbdVariantProps, LinkVariantProps, ModalVariantProps, PopoverVariantProps, SelectVariantProps, SkeletonVariantProps, SwitchRecipeVariantProps, TableVariantProps, TabsVariantProps, TagVariantProps, TextareaVariantProps, TooltipVariantProps } from '../../../styled-system/system.js';
import { UserProvidedColorScheme } from '@inkeep/preset/color-scheme';
import { ThemePropsContext, UserThemeProps } from '../../../components/src/components.ts';
export interface UserTheme extends Record<string, unknown> {
    colorMode?: Omit<ColorModeProviderProps, 'children' | 'shadowHostId' | 'rootId'>;
    zIndices?: Record<string, string>;
    tokens?: UserTokens;
    primaryColors?: UserProvidedColorScheme;
    components?: InkeepThemeComponents;
}
export type UserTokens = {
    [Category in TokenCategory]?: {
        [TokenName in Tokens[Category]]?: string | number;
    };
};
export interface InkeepThemeComponents extends ThemePropsContext {
    AIChatPageWrapper?: UserThemeProps<AiChatPageWrapperVariantProps>;
    PreviewContentHeader?: UserThemeProps;
    SearchBarTrigger?: UserThemeProps<SearchBarTriggerVariantProps>;
    Alert?: UserThemeProps<AlertVariantProps>;
    Avatar?: UserThemeProps<AvatarVariantProps>;
    Badge?: UserThemeProps<BadgeVariantProps>;
    Button?: UserThemeProps<ButtonVariantProps>;
    Card?: UserThemeProps<CardVariantProps>;
    Checkbox?: UserThemeProps<CheckboxVariantProps>;
    CloseButton?: UserThemeProps<CloseButtonVariantProps>;
    Code?: UserThemeProps<CodeVariantProps>;
    Heading?: UserThemeProps<HeadingVariantProps>;
    Icon?: UserThemeProps<IconVariantProps>;
    Kbd?: UserThemeProps<KbdVariantProps>;
    FormControl?: UserThemeProps<FormControlVariantProps>;
    Input?: UserThemeProps<InputVariantProps>;
    Link?: UserThemeProps<LinkVariantProps>;
    Modal?: UserThemeProps<ModalVariantProps>;
    Popover?: UserThemeProps<PopoverVariantProps>;
    Select?: UserThemeProps<SelectVariantProps>;
    Skeleton?: UserThemeProps<SkeletonVariantProps>;
    SwitchRecipe?: UserThemeProps<SwitchRecipeVariantProps>;
    Table?: UserThemeProps<TableVariantProps>;
    Tabs?: UserThemeProps<TabsVariantProps>;
    Tag?: UserThemeProps<TagVariantProps>;
    Textarea?: UserThemeProps<TextareaVariantProps>;
    Tooltip?: UserThemeProps<TooltipVariantProps>;
}
