export type GraphicProps = {
    /** Image URL for the main banner/background; drives aspect-ratio box and loading state. */
    bannerSrc?: string;
    /** Image URL for the logo overlay (e.g. centered on the graphic). */
    logoSrc?: string;
    /** Border radius preset: none, sm, base, md, xl; applied to banner and container. */
    rounding?: keyof typeof roundingClasses;
    /** Aspect ratio of the graphic (e.g. 'wide' for 16:9, or a custom value like '21/9'). */
    ratio?: AspectRatioStyle;
    /** When true, renders the banner image in grayscale. */
    grayscale?: boolean;
    /** When true, renders the banner image with a brightness of 150%. */
    highlight?: boolean;
};
export declare const ratioClasses: {
    ultraWide: string;
    wide: string;
    landscape: string;
    square: string;
    portrait: string;
};
export declare const roundingClasses: {
    none: string;
    sm: string;
    base: string;
    md: string;
    lg: string;
    xl: string;
};
export type AspectRatioStyle = keyof typeof ratioClasses | string | undefined;
export declare function getAspectRatioStyle(ratio: AspectRatioStyle): string;
declare const _default: typeof __VLS_export;
export default _default;
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<GraphicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<GraphicProps> & Readonly<{}>, {
    rounding: keyof typeof roundingClasses;
    ratio: string;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
    topLeft?: (props: {}) => any;
} & {
    topRight?: (props: {}) => any;
} & {
    bottomRight?: (props: {}) => any;
} & {
    bottomLeft?: (props: {}) => any;
}>;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
