/**
 * Design tokens for `cursor/canvas` (standalone; no UI framework dependency).
 *
 * Color values are aligned with the Cursor app dark theme (`packages/ui` `cursor-dark` sources).
 */
export declare const canvasPaletteDark: {
    readonly foreground: "#E4E4E4EB";
    readonly foregroundSecondary: "#E4E4E48D";
    readonly foregroundTertiary: "#E4E4E45E";
    readonly foregroundQuaternary: "#E4E4E442";
    readonly editor: "#181818";
    readonly chrome: "#141414";
    readonly sidebar: "#141414";
    readonly elevated: "#181818";
    readonly fillPrimary: "#E4E4E430";
    readonly fillSecondary: "#E4E4E41E";
    readonly fillTertiary: "#E4E4E411";
    readonly fillQuaternary: "#E4E4E40A";
    readonly strokePrimary: "#E4E4E433";
    readonly strokeSecondary: "#E4E4E41F";
    readonly strokeTertiary: "#E4E4E414";
    readonly accent: "#599CE7";
    readonly buttonBackground: "#599CE7";
    readonly buttonForeground: "#191c22";
    readonly buttonHoverBackground: "#6AABE9";
    readonly link: "#87c3ff";
    readonly diffInsertedLine: "#3FA26633";
    readonly diffRemovedLine: "#B8004933";
    readonly diffStripAdded: "#3FA2668F";
    readonly diffStripRemoved: "#FC6B838F";
};
/**
 * Light-mode palette derived from `packages/ui/src/tokens/themes/cursor-core/light.ts`.
 * Base color: #141414.  Same percentages as dark (regular light has no overrides
 * in CURSOR_SEMANTIC_OVERRIDES — only high-contrast does).
 */
export declare const canvasPaletteLight: {
    readonly foreground: "#141414F0";
    readonly foregroundSecondary: "#141414BD";
    readonly foregroundTertiary: "#1414148A";
    readonly foregroundQuaternary: "#1414145C";
    readonly editor: "#FCFCFC";
    readonly chrome: "#F8F8F8";
    readonly sidebar: "#F3F3F3";
    readonly elevated: "#FCFCFC";
    readonly fillPrimary: "#14141433";
    readonly fillSecondary: "#14141424";
    readonly fillTertiary: "#14141414";
    readonly fillQuaternary: "#1414140F";
    readonly strokePrimary: "#14141433";
    readonly strokeSecondary: "#1414141F";
    readonly strokeTertiary: "#14141414";
    readonly accent: "#3685BF";
    readonly buttonBackground: "#3685BF";
    readonly buttonForeground: "#FCFCFC";
    readonly buttonHoverBackground: "#2E76AB";
    readonly link: "#3685BF";
    readonly diffInsertedLine: "#1F8A651F";
    readonly diffRemovedLine: "#CF2D5614";
    readonly diffStripAdded: "#1F8A65CC";
    readonly diffStripRemoved: "#CF2D56CC";
};
export interface CanvasPalette {
    readonly foreground: string;
    readonly foregroundSecondary: string;
    readonly foregroundTertiary: string;
    readonly foregroundQuaternary: string;
    readonly editor: string;
    readonly chrome: string;
    readonly sidebar: string;
    readonly elevated: string;
    readonly fillPrimary: string;
    readonly fillSecondary: string;
    readonly fillTertiary: string;
    readonly fillQuaternary: string;
    readonly strokePrimary: string;
    readonly strokeSecondary: string;
    readonly strokeTertiary: string;
    readonly accent: string;
    readonly buttonBackground: string;
    readonly buttonForeground: string;
    readonly buttonHoverBackground: string;
    readonly link: string;
    readonly diffInsertedLine: string;
    readonly diffRemovedLine: string;
    readonly diffStripAdded: string;
    readonly diffStripRemoved: string;
}
/**
 * Chart color palette — distilled from portal-website analytics charts.
 * 88% opacity (E0) softens vibrancy without dulling; palette maximizes
 * hue + luminosity spread for distinguishable multi-series charts.
 */
export declare const chartPalette: {
    readonly green: "#1F8A65E8";
    readonly darkGreen: "#0D855AE0";
    readonly lightGreen: "#52B896E0";
    readonly mintGreen: "#7DCAB0E0";
    readonly blue: "#2E79B5E0";
    readonly lightBlue: "#70B0D8E0";
    readonly indigo: "#5A6CC0F0";
    readonly lightIndigo: "#9AAADCE0";
    readonly purple: "#7B64B8F0";
    readonly lightPurple: "#AA98D8E0";
    readonly warmPink: "#C85898E0";
    readonly lightPink: "#E8A0C4E0";
    readonly brightOrange: "#F0A040E0";
    readonly deepOrange: "#C06028E0";
    readonly goldenYellow: "#E8C030E0";
    readonly darkAmber: "#C04848E0";
    readonly warmPeach: "#F0A088E0";
    readonly vibrantTeal: "#2A9A8AE0";
    readonly muted: "#8888A8E0";
    readonly neutralLine: "#888899D0";
};
/**
 * Shared category palette for canvas primitives that show categorical tints
 * (`Swatch`, `UsageBar` segments, etc.). Uses a coherent subset of
 * `chartPalette` so a category's color reads consistently across any
 * primitive that consumes it.
 *
 * The insertion order here is the canonical category order — primitives
 * that auto-assign colors (e.g. `UsageBar` segments without an explicit
 * `color`) cycle through these keys in order.
 */
export declare const colorPalette: {
    readonly gray: "#8888A8E0";
    readonly purple: "#7B64B8F0";
    readonly green: "#1F8A65E8";
    readonly yellow: "#E8C030E0";
    readonly pink: "#C85898E0";
    readonly blue: "#2E79B5E0";
    readonly orange: "#F0A040E0";
};
export type Color = keyof typeof colorPalette;
/**
 * Auto-color rotation for `UsageBar` segments without an explicit `color`.
 * Decoupled from `colorPalette`'s declaration order so the palette can grow
 * or be reordered without changing how unspecified segments cycle.
 *
 * Matches the original `packages/ui` `ContextUsageTray` order so the same
 * segment index lands on the same hue as the source.
 */
export declare const usageColorSequence: readonly Color[];
/**
 * Ordered array for automatic series coloring — alternates dark/light across
 * distinct hue families for maximum perceptual separation.
 */
export declare const chartColorSequence: readonly ["#1F8A65E8", "#70B0D8E0", "#5A6CC0F0", "#F0A040E0", "#C06028E0", "#E8C030E0", "#C85898E0", "#F0A088E0", "#7B64B8F0", "#7DCAB0E0", "#8888A8E0", "#2A9A8AE0"];
declare function buildTokens(palette: CanvasPalette): {
    bg: {
        editor: string;
        chrome: string;
        elevated: string;
    };
    text: {
        primary: string;
        secondary: string;
        tertiary: string;
        quaternary: string;
        link: string;
        onAccent: string;
    };
    stroke: {
        primary: string;
        secondary: string;
        tertiary: string;
    };
    fill: {
        primary: string;
        secondary: string;
        tertiary: string;
        quaternary: string;
    };
    accent: {
        primary: string;
        control: string;
        controlHover: string;
    };
    diff: {
        insertedLine: string;
        removedLine: string;
        stripAdded: string;
        stripRemoved: string;
    };
};
/** Semantic colors for components (spacing and radius live in `theme.ts`). */
export declare const canvasTokens: {
    bg: {
        editor: string;
        chrome: string;
        elevated: string;
    };
    text: {
        primary: string;
        secondary: string;
        tertiary: string;
        quaternary: string;
        link: string;
        onAccent: string;
    };
    stroke: {
        primary: string;
        secondary: string;
        tertiary: string;
    };
    fill: {
        primary: string;
        secondary: string;
        tertiary: string;
        quaternary: string;
    };
    accent: {
        primary: string;
        control: string;
        controlHover: string;
    };
    diff: {
        insertedLine: string;
        removedLine: string;
        stripAdded: string;
        stripRemoved: string;
    };
};
export declare const canvasTokensLight: {
    bg: {
        editor: string;
        chrome: string;
        elevated: string;
    };
    text: {
        primary: string;
        secondary: string;
        tertiary: string;
        quaternary: string;
        link: string;
        onAccent: string;
    };
    stroke: {
        primary: string;
        secondary: string;
        tertiary: string;
    };
    fill: {
        primary: string;
        secondary: string;
        tertiary: string;
        quaternary: string;
    };
    accent: {
        primary: string;
        control: string;
        controlHover: string;
    };
    diff: {
        insertedLine: string;
        removedLine: string;
        stripAdded: string;
        stripRemoved: string;
    };
};
export type CanvasTokens = ReturnType<typeof buildTokens>;
export {};
//# sourceMappingURL=canvas-tokens.d.ts.map