import {
    type TextStyle,
    type StyleProp
} from "react-native";
import type {
    NCoreUIKitIcon
} from "../../types";
import type IButtonProps from "../button/type";

export type PaltteSwitchVariant = {
    backgroundColor: keyof NCoreUIKit.ContainerContentColors | "transparent";
    borderColor: keyof NCoreUIKit.BorderContentColors | "transparent";
    iconColor: keyof NCoreUIKit.ProjectColorPalette;
    paletteKey: keyof NCoreUIKit.PaletteKey;
    icon: NCoreUIKitIcon;
};

export type ThemeSwitchVariants = Array<PaltteSwitchVariant>;

interface IPaletteSwitcherProps extends Omit<IButtonProps, "onPress"> {
    color?: keyof NCoreUIKit.ContainerContentColors | "transparent";
    customTheme?: {
        gapPropagation?: keyof NCoreUIKit.GapPropagationKey;
        sharpness?: keyof NCoreUIKit.SharpnessKey;
        paletteKey?: keyof NCoreUIKit.PaletteKey;
        themeKey?: keyof NCoreUIKit.ThemeKey;
    };
    style?: StyleProp<TextStyle>[] | StyleProp<TextStyle>;
    isWorkWithHighlightButton?: boolean;
    isWorkWithNextShowSystem?: boolean;
    variants?: ThemeSwitchVariants;
}
export type {
    IPaletteSwitcherProps as default
};
