/// <reference types="react" />
import type { GlCardProps } from "./GlCard";
export declare type GlProjectCardProps = GlCardProps & {
    projectImageUrl: string;
    badgeLabel?: string;
    badgeColor?: string;
    badgeBackgroundColor?: string;
    title: string;
    subtitle?: string;
    text?: string;
    classes?: Partial<ReturnType<typeof useStyles>["classes"]>;
};
export declare const GlProjectCard: import("react").MemoExoticComponent<(props: GlProjectCardProps) => JSX.Element>;
declare const useStyles: (params: Pick<GlProjectCardProps, "badgeBackgroundColor" | "badgeColor" | "projectImageUrl"> & {
    headerWidth: number;
    imgAspectRatio: number | undefined;
}, styleOverrides?: {
    props: {
        classes?: Record<string, string> | undefined;
    } & Record<string, unknown>;
    ownerState?: Record<string, unknown> | undefined;
} | undefined) => {
    classes: Record<"button" | "footer" | "header" | "root" | "footerTitle" | "footerSubtitle" | "footerText", string>;
    theme: {
        paddingRightLeft: number;
        customShadow: string;
        colors: {
            palette: {
                focus: {
                    main: string;
                    light: string;
                    light2: string;
                };
                dark: {
                    main: string;
                    light: string;
                    greyVariant1: string;
                    greyVariant2: string;
                    greyVariant3: string;
                    greyVariant4: string;
                };
                light: {
                    main: string;
                    light: string;
                    greyVariant1: string;
                    greyVariant2: string;
                    greyVariant3: string;
                    greyVariant4: string;
                };
                redError: {
                    main: string;
                    light: string;
                };
                greenSuccess: {
                    main: string;
                    light: string;
                };
                orangeWarning: {
                    main: string;
                    light: string;
                };
                blueInfo: {
                    main: string;
                    light: string;
                };
            };
            useCases: {
                typography: {
                    textPrimary: string;
                    textSecondary: string;
                    textTertiary: string;
                    textDisabled: string;
                    textFocus: string;
                };
                buttons: {
                    actionHoverPrimary: string;
                    actionHoverSecondary: string;
                    actionHoverTernary: string;
                    actionSelected: string;
                    actionActive: string;
                    actionDisabled: string;
                    actionDisabledBackground: string;
                };
                surfaces: {
                    background: string;
                    surface1: string;
                    surface2: string;
                };
                alertSeverity: {
                    error: {
                        main: string;
                        background: string;
                    };
                    success: {
                        main: string;
                        background: string;
                    };
                    warning: {
                        main: string;
                        background: string;
                    };
                    info: {
                        main: string;
                        background: string;
                    };
                };
            };
        };
        isDarkModeEnabled: boolean;
        typography: import("onyxia-ui").ComputedTypography<never>;
        shadows: readonly ["none", "0px 6px 10px 0px rgba(0,0,0,0.07)", "0px 4px 4px 0px rgba(0,0,0,0.1)", "6px 0px 16px 0px rgba(0,0,0,0.15)", "4px 0px 10px 0px rgba(0,0,0,0.07)", "-4px 0px 10px 0px rgba(0,0,0,0.07)", "0px 6px 10px 0px rgba(0,0,0,0.14)", "0px 8px 10px -7px rgba(0,0,0,0.07)"];
        spacing: import("onyxia-ui").Spacing;
        muiTheme: import("@mui/material").Theme;
        iconSizesInPxByName: Record<"medium" | "default" | "large" | "small" | "extra small", number>;
        windowInnerWidth: number;
    };
    css: import("tss-react/types").Css;
    cx: import("tss-react/types").Cx;
};
export {};
