import type { ExpandedPalette } from "../palette/expandPalette";
import type { Theme } from "../schema";
export type GradientId = string;
export type GradientCategory = 'uiAccent' | 'bgSubtle' | 'surface' | 'hero' | 'text';
export type GradientShape = 'linear' | 'radial' | 'conic';
export type GradientStopSpec = {
    role: string;
    shade?: number;
    alpha?: number;
};
export type GradientSpec = {
    id: GradientId;
    category: GradientCategory;
    shape: GradientShape;
    direction?: string | number;
    stops: GradientStopSpec[];
    intensityDefaults?: {
        subtle?: number;
        medium?: number;
        bold?: number;
    };
};
export type ResolveOptions = {
    intensity?: 'subtle' | 'medium' | 'bold' | number;
};
export type GradientResolved = {
    id: GradientId;
    category: GradientCategory;
    css: string;
};
export declare function resolveGradient(spec: GradientSpec, expanded: ExpandedPalette, options?: ResolveOptions): GradientResolved;
export declare function getGradientCss(id: GradientId, library: GradientSpec[], expanded: ExpandedPalette, options?: ResolveOptions): string;
export declare function suggestGradients(theme: Theme, library: GradientSpec[], maxPerCategory?: number): GradientId[];
