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

export type RowCardDynamicStyleType = {
    radiuses: NCoreUIKit.ActivePalette["radiuses"];
    spaces: NCoreUIKit.ActivePalette["spaces"];
    colors: NCoreUIKit.ActivePalette["colors"];
    subTitle?: string;
    type: RowCardType;
};

export type RowCardType = "first-based" | "evenly";

type IRowCardProps = {
    rightContentContainerStyle?: StyleProp<ViewStyle>[] | StyleProp<ViewStyle>;
    leftContentContainerStyle?: StyleProp<ViewStyle>[] | StyleProp<ViewStyle>;
    rightContainerStyle?: StyleProp<ViewStyle>[] | StyleProp<ViewStyle>;
    leftContainerStyle?: StyleProp<ViewStyle>[] | StyleProp<ViewStyle>;
    rightSubTitleStyle?: StyleProp<ViewStyle>[] | StyleProp<ViewStyle>;
    leftSubTitleStyle?: StyleProp<ViewStyle>[] | StyleProp<ViewStyle>;
    rightTitleStyle?: StyleProp<ViewStyle>[] | StyleProp<ViewStyle>;
    leftTitleStyle?: StyleProp<ViewStyle>[] | StyleProp<ViewStyle>;
    rightIconStyle?: StyleProp<ViewStyle>[] | StyleProp<ViewStyle>;
    iconStyle?: StyleProp<ViewStyle>[] | StyleProp<ViewStyle>;
    style?: StyleProp<ViewStyle>[] | StyleProp<ViewStyle>;
    rightIcon?: NCoreUIKitIcon;
    rightSubTitle?: string;
    icon?: NCoreUIKitIcon;
    onPress?: () => void;
    rightTitle?: string;
    type?: RowCardType;
    subTitle?: string;
    title: string;
    customTheme?: {
        gapPropagation?: NCoreUIKit.GapPropagationKey;
        sharpness?: NCoreUIKit.SharpnessKey;
        paletteKey?: NCoreUIKit.PaletteKey;
        themeKey?: NCoreUIKit.ThemeKey;
    };
};

export type {
    IRowCardProps as default
};
