import * as React from 'react';
import { CanvasActionBrandRamp, CanvasBrandRamp, CanvasNeutralBrandRamp, CanvasNumericalBrandTheme, CanvasProviderTheme, CanvasTheme, PartialEmotionCanvasTheme } from './types';
/** True when a semantic theme intentionally passes a non-empty `canvas.palette`. */
export declare function hasExplicitSemanticPalette(theme: CanvasProviderTheme): theme is PartialEmotionCanvasTheme;
/** Tokens that change when a consumer sets only their primary brand color. */
export declare const BRAND_SCOPE_PRIMARY_BUNDLE: {
    readonly action: readonly ["base", "dark", "darkest", "accent"];
    readonly accent: readonly ["primary", "action"];
    readonly selected: {
        readonly fg: "--cnvs-sys-color-brand-fg-selected";
        readonly surface: "--cnvs-sys-color-brand-surface-selected";
    };
};
/**
 * Independently brandable tokens — writable when explicitly provided,
 * but NEVER derived from primary.main / brand.primary.600.
 */
export declare const BRAND_SCOPE_INDEPENDENT: {
    readonly focus: {
        readonly primary: "--cnvs-sys-color-brand-focus-primary";
        readonly brandToken: "--cnvs-brand-primary-500";
        readonly semanticKey: "focusOutline";
    };
    readonly border: {
        readonly primary: "--cnvs-sys-color-brand-border-primary";
        readonly brandToken: "--cnvs-brand-primary-500";
        readonly semanticKey: "focusOutline";
    };
};
type BrandColor = 'primary' | 'critical' | 'caution' | 'positive' | 'neutral';
/** Maps a numerical brand ramp onto `brand.<color><rampKey>` CSS variables. */
export declare function writeNumericalBrandRamp(color: BrandColor | 'action', ramp: CanvasBrandRamp | CanvasNeutralBrandRamp | CanvasActionBrandRamp | undefined, style: React.CSSProperties, options?: {
    skipKeys?: Set<string>;
}): void;
/** Called when consumer sets only `primary.main` or `brand.primary['600']`. */
export declare function applyPrimaryBrandBundle(primaryColor: string, style: React.CSSProperties): void;
/** Called when consumer sets only `error.main` or `brand.critical['600']`. */
export declare function applyCriticalBrandBundle(criticalColor: string, style: React.CSSProperties): void;
/** Called when consumer sets only `alert.main` or `brand.caution['400']`. */
export declare function applyCautionBrandBundle(cautionColor: string, style: React.CSSProperties): void;
/** Called when consumer sets only `success.main` or `brand.positive['600']`. */
export declare function applyPositiveBrandBundle(positiveColor: string, style: React.CSSProperties): void;
/** Called when consumer sets only `neutral.main` or `brand.neutral['600']`. */
export declare function applyNeutralBrandBundle(neutralColor: string, style: React.CSSProperties): void;
/** Writes first-class selected shortcuts from numerical theme input. */
export declare function writeSelectedShortcuts(selected: CanvasNumericalBrandTheme['selected'] | undefined, style: React.CSSProperties): void;
/** Writes focus/border from explicit common or brand.primary.500 input — never from primary.main. */
export declare function writeIndependentBrandTokens(theme: CanvasProviderTheme | undefined, style: React.CSSProperties): void;
/** Walks nested system override object and sets matching system CSS vars. */
export declare function writeSystemBrandOverrides(systemOverrides: {
    color?: {
        brand?: Record<string, unknown>;
    };
} | undefined, style: React.CSSProperties): void;
/** Full-scope semantic writer — filled palette compared against defaults unless `writeAll`. */
export declare function writeSemanticTheme(palette: CanvasTheme['palette'], style: React.CSSProperties, options?: {
    writeAll?: boolean;
}): void;
/** Writes numerical theme — brand scope applies per-family shortcuts; remaining keys write 1:1. */
export declare function writeNumericalTheme(theme: CanvasNumericalBrandTheme, style: React.CSSProperties, scope: 'brand' | 'full'): void;
/** Brand-scope semantic path — reads raw input only, not useTheme-filled palette. */
export declare function writeBrandScopeSemantic(theme: PartialEmotionCanvasTheme, style: React.CSSProperties): void;
export {};
//# sourceMappingURL=brandScope.d.ts.map