/**
 * Fictoan Button Component Prop Schema
 * Static schema based on Fictoan v2.1.0 Button component
 * Maps Fictoan props to shadcn/ui equivalents
 */
declare const TailwindColors: readonly ["slate", "gray", "zinc", "neutral", "stone", "red", "orange", "amber", "yellow", "lime", "green", "emerald", "teal", "cyan", "sky", "blue", "indigo", "violet", "purple", "fuchsia", "pink", "rose", "setu-brand"];
type TailwindColorsType = (typeof TailwindColors)[number];
declare const CustomColors: readonly ["setu-brand"];
type CustomColours = (typeof CustomColors)[number];
type supportedShadesType = 50 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | 950;
declare const ShadowsMapping: {
    readonly none: "";
    readonly mild: "setu:shadow-xs";
    readonly soft: "setu:shadow-md";
    readonly hard: "setu:shadow-lg";
};
declare const SizeMapping: {
    readonly tiny: "icon";
    readonly small: "sm";
    readonly medium: "default";
    readonly large: "lg";
    readonly huge: "lg";
};
declare const ShapeMapping: {
    readonly rounded: "setu:rounded-md";
    readonly curved: "setu:rounded-xl";
};
declare const SpacingPaddingMapping: {
    readonly none: "setu:p-0";
    readonly nano: "setu:p-1";
    readonly micro: "setu:p-2";
    readonly tiny: "setu:p-3";
    readonly small: "setu:p-4";
    readonly medium: "setu:p-6";
    readonly large: "setu:p-8";
    readonly huge: "setu:p-12";
};
declare const SpacingMarginMapping: {
    readonly none: "setu:m-0";
    readonly nano: "setu:m-1";
    readonly micro: "setu:m-2";
    readonly tiny: "setu:m-3";
    readonly small: "setu:m-4";
    readonly medium: "setu:m-6";
    readonly large: "setu:m-8";
    readonly huge: "setu:m-12";
};
export type ShapeType = keyof typeof ShapeMapping;
export type SizeType = keyof typeof SizeMapping;
export type ShadowType = keyof typeof ShadowsMapping;
export type SpacingPaddingType = keyof typeof SpacingPaddingMapping;
export type SpacingMarginType = keyof typeof SpacingMarginMapping;
export interface FictoanButtonProps {
    colour?: "blue" | "red" | "green" | "yellow" | "orange" | "pink" | "purple" | "grey" | "white" | "black";
    color?: "blue" | "red" | "green" | "yellow" | "orange" | "pink" | "purple" | "grey" | "white" | "black";
    kind?: "primary" | "secondary" | "tertiary" | "custom";
    size?: SizeType | "sm" | "default" | "lg" | "icon" | "icon-sm" | "icon-lg" | null;
    isLoading?: boolean;
    disabled?: boolean;
    shadow?: ShadowType;
    isFullWidth?: boolean;
    onClick?: () => void;
    type?: "button" | "submit" | "reset";
    children?: React.ReactNode;
}
export declare const fictoanButtonMapping: {
    readonly colors: {
        readonly blue: "default";
        readonly red: "destructive";
        readonly green: "success";
        readonly yellow: "warning";
        readonly orange: "warning";
        readonly pink: "secondary";
        readonly purple: "secondary";
        readonly grey: "secondary";
        readonly gray: "secondary";
        readonly white: "outline-solid";
        readonly black: "default";
    };
    readonly kinds: {
        readonly primary: "default";
        readonly secondary: "secondary";
        readonly tertiary: "ghost";
        readonly custom: "default";
    };
    readonly sizes: {
        readonly tiny: "icon";
        readonly small: "sm";
        readonly medium: "default";
        readonly large: "lg";
        readonly huge: "lg";
    };
    readonly shadows: {
        readonly none: "";
        readonly mild: "setu:shadow-xs";
        readonly soft: "setu:shadow-md";
        readonly hard: "setu:shadow-lg";
    };
};
export type FictoanButtonColor = keyof typeof fictoanButtonMapping.colors;
export type FictoanButtonKind = keyof typeof fictoanButtonMapping.kinds;
export type FictoanButtonSize = keyof typeof fictoanButtonMapping.sizes;
export type FictoanButtonShadow = keyof typeof fictoanButtonMapping.shadows;
export interface FictoanInfoPanelProps {
    width?: "tiny" | "small" | "medium" | "large" | "huge";
    isOpen?: boolean;
    onCloseCallback?: () => void;
    closeOnClickOutside?: boolean;
    bgColor?: string;
    bgColour?: string;
    textColor?: string;
    textColour?: string;
    padding?: SpacingPaddingType;
    margin?: SpacingMarginType;
    shadow?: ShadowType;
    shape?: ShapeType;
    className?: string;
    classNames?: string[];
    children?: React.ReactNode;
}
export declare const fictoanInfoPanelMapping: {
    readonly widths: {
        readonly tiny: "setu:max-w-xs";
        readonly small: "setu:max-w-sm";
        readonly medium: "setu:max-w-md";
        readonly large: "setu:max-w-lg";
        readonly huge: "setu:max-w-xl";
    };
    readonly stateMapping: {
        readonly isOpen: "open";
        readonly onCloseCallback: "onOpenChange";
    };
    readonly spacing: {
        readonly none: "setu:p-0";
        readonly nano: "setu:p-1";
        readonly micro: "setu:p-2";
        readonly tiny: "setu:p-3";
        readonly small: "setu:p-4";
        readonly medium: "setu:p-6";
        readonly large: "setu:p-8";
        readonly huge: "setu:p-12";
    };
    readonly shadows: {
        readonly none: "";
        readonly mild: "setu:shadow-xs";
        readonly soft: "setu:shadow-md";
        readonly hard: "setu:shadow-lg";
    };
    readonly shapes: {
        readonly rounded: "setu:rounded-md";
        readonly curved: "setu:rounded-xl";
    };
};
export type FictoanInfoPanelWidth = keyof typeof fictoanInfoPanelMapping.widths;
export type FictoanInfoPanelSpacing = SpacingPaddingType;
export type FictoanInfoPanelShadow = ShadowType;
export type FictoanInfoPanelShape = ShapeType;
export declare const fictoanSpacingMapping: {
    readonly none: "setu:p-0";
    readonly nano: "setu:p-1";
    readonly micro: "setu:p-2";
    readonly tiny: "setu:p-3";
    readonly small: "setu:p-4";
    readonly medium: "setu:p-6";
    readonly large: "setu:p-8";
    readonly huge: "setu:p-12";
};
export type FictoanSpacing = SpacingPaddingType;
export interface FictoanCardProps {
    bgColor?: string;
    bgColour?: string;
    textColor?: string;
    textColour?: string;
    borderColor?: string;
    borderColour?: string;
    padding?: SpacingPaddingType;
    margin?: SpacingMarginType;
    shadow?: ShadowType;
    shape?: ShapeType;
    className?: string;
    classNames?: string[];
    children?: React.ReactNode;
}
export interface FictoanInputFieldProps {
    label?: string;
    labelColour?: string;
    type?: string;
    placeholder?: string;
    value?: string;
    defaultValue?: string;
    onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
    iconLeft?: React.ReactElement;
    iconRight?: React.ReactElement;
    helpText?: string;
    errorText?: string;
    validateThis?: boolean;
    valid?: boolean;
    invalid?: boolean;
    bgColor?: string;
    bgColour?: string;
    textColor?: string;
    textColour?: string;
    borderColor?: string;
    borderColour?: string;
    padding?: SpacingPaddingType;
    margin?: SpacingMarginType;
    shadow?: ShadowType;
    shape?: "rounded" | "curved";
    className?: string;
    classNames?: string[];
    disabled?: boolean;
    required?: boolean;
}
export interface FictoanTooltipProps {
    label: string;
    position?: "top" | "bottom" | "left" | "right";
    children?: React.ReactNode;
    bgColor?: string;
    bgColour?: string;
    textColor?: string;
    textColour?: string;
    padding?: SpacingPaddingType;
    shadow?: ShadowType;
    shape?: ShapeType;
    className?: string;
    classNames?: string[];
}
export interface FictoanBadgeProps {
    size?: SizeType;
    shape?: ShapeType;
    bgColor?: string;
    bgColour?: string;
    textColor?: string;
    textColour?: string;
    borderColor?: string;
    borderColour?: string;
    padding?: SpacingPaddingType;
    margin?: SpacingMarginType;
    shadow?: ShadowType;
    className?: string;
    classNames?: string[];
    children?: React.ReactNode;
}
export declare const fictoanComponentMapping: {
    readonly badgeSizes: {
        readonly tiny: "setu:!text-xs setu:!px-1 setu:!py-0.5";
        readonly small: "setu:!text-xs setu:!px-2 setu:!py-1";
        readonly medium: "setu:!text-sm setu:!px-2.5 setu:!py-1.5";
        readonly large: "setu:!text-base setu:!px-3 setu:!py-2";
        readonly huge: "setu:!text-lg setu:!px-4 setu:!py-2.5";
    };
    readonly inputStates: {
        readonly valid: "";
        readonly invalid: "setu:!text-red-700 setu:!bg-red-50 setu:!border-red-500";
    };
    readonly tooltipPositions: {
        readonly top: "bottom";
        readonly bottom: "top";
        readonly left: "right";
        readonly right: "left";
    };
    readonly colors: {
        readonly blue: "blue-500";
        readonly red: "red-500";
        readonly green: "green-500";
        readonly yellow: "yellow-500";
        readonly orange: "orange-500";
        readonly pink: "pink-500";
        readonly purple: "purple-500";
        readonly grey: "gray-500";
        readonly gray: "gray-500";
        readonly white: "white";
        readonly black: "black";
    };
};
export type TypographySpacingProps = {
    padding?: SpacingPaddingType;
    paddingTop?: SpacingPaddingType;
    paddingBottom?: SpacingPaddingType;
    paddingLeft?: SpacingPaddingType;
    paddingRight?: SpacingPaddingType;
    margin?: SpacingMarginType;
    marginTop?: SpacingMarginType;
    marginBottom?: SpacingMarginType;
    marginLeft?: SpacingMarginType;
    marginRight?: SpacingMarginType;
};
export declare const TypographySpacingPropsMapping: {
    readonly padding: {
        readonly none: "setu:p-0";
        readonly nano: "setu:p-1";
        readonly micro: "setu:p-2";
        readonly tiny: "setu:p-3";
        readonly small: "setu:p-4";
        readonly medium: "setu:p-6";
        readonly large: "setu:p-8";
        readonly huge: "setu:p-12";
    };
    readonly paddingTop: {
        readonly none: "setu:!pt-0";
        readonly nano: "setu:!pt-1";
        readonly micro: "setu:!pt-2";
        readonly tiny: "setu:!pt-3";
        readonly small: "setu:!pt-4";
        readonly medium: "setu:!pt-6";
        readonly large: "setu:!pt-8";
        readonly huge: "setu:!pt-12";
    };
    readonly paddingBottom: {
        readonly none: "setu:!pb-0";
        readonly nano: "setu:!pb-1";
        readonly micro: "setu:!pb-2";
        readonly tiny: "setu:!pb-3";
        readonly small: "setu:!pb-4";
        readonly medium: "setu:!pb-6";
        readonly large: "setu:!pb-8";
        readonly huge: "setu:!pb-12";
    };
    readonly paddingLeft: {
        readonly none: "setu:!pl-0";
        readonly nano: "setu:!pl-1";
        readonly micro: "setu:!pl-2";
        readonly tiny: "setu:!pl-3";
        readonly small: "setu:!pl-4";
        readonly medium: "setu:!pl-6";
        readonly large: "setu:!pl-8";
        readonly huge: "setu:!pl-12";
    };
    readonly paddingRight: {
        readonly none: "setu:!pr-0";
        readonly nano: "setu:!pr-1";
        readonly micro: "setu:!pr-2";
        readonly tiny: "setu:!pr-3";
        readonly small: "setu:!pr-4";
        readonly medium: "setu:!pr-6";
        readonly large: "setu:!pr-8";
        readonly huge: "setu:!pr-12";
    };
    readonly margin: {
        readonly none: "setu:m-0";
        readonly nano: "setu:m-1";
        readonly micro: "setu:m-2";
        readonly tiny: "setu:m-3";
        readonly small: "setu:m-4";
        readonly medium: "setu:m-6";
        readonly large: "setu:m-8";
        readonly huge: "setu:m-12";
    };
    readonly marginTop: {
        readonly none: "setu:!mt-0";
        readonly nano: "setu:!mt-1";
        readonly micro: "setu:!mt-2";
        readonly tiny: "setu:!mt-3";
        readonly small: "setu:!mt-4";
        readonly medium: "setu:!mt-6";
        readonly large: "setu:!mt-8";
        readonly huge: "setu:!mt-12";
    };
    readonly marginBottom: {
        readonly none: "setu:!mb-0";
        readonly nano: "setu:!mb-1";
        readonly micro: "setu:!mb-2";
        readonly tiny: "setu:!mb-3";
        readonly small: "setu:!mb-4";
        readonly medium: "setu:!mb-6";
        readonly large: "setu:!mb-8";
        readonly huge: "setu:!mb-12";
    };
    readonly marginLeft: {
        readonly none: "setu:!ml-0";
        readonly nano: "setu:!ml-1";
        readonly micro: "setu:!ml-2";
        readonly tiny: "setu:!ml-3";
        readonly small: "setu:!ml-4";
        readonly medium: "setu:!ml-6";
        readonly large: "setu:!ml-8";
        readonly huge: "setu:!ml-12";
    };
    readonly marginRight: {
        readonly none: "setu:!mr-0";
        readonly nano: "setu:!mr-1";
        readonly micro: "setu:!mr-2";
        readonly tiny: "setu:!mr-3";
        readonly small: "setu:!mr-4";
        readonly medium: "setu:!mr-6";
        readonly large: "setu:!mr-8";
        readonly huge: "setu:!mr-12";
    };
};
export type FictoanBadgeSize = keyof typeof fictoanComponentMapping.badgeSizes;
export type FictoanInputState = keyof typeof fictoanComponentMapping.inputStates;
export type FictoanTooltipPosition = keyof typeof fictoanComponentMapping.tooltipPositions;
export type FictoanColor = keyof typeof fictoanComponentMapping.colors;
export type ColorProps = `${TailwindColorsType}-${supportedShadesType}` | `${CustomColours}-${supportedShadesType}`;
export {};
//# sourceMappingURL=fictoan-schema.d.ts.map