import type { CSSProperties } from 'react';
type ShadowTokensKeys = 'shadow';
type BorderRadiusTokensKeys = 'borderRadius';
type SpacingTokensKeys = 'spacing';
type ExcludedTokenKeys = `${ShadowTokensKeys}${string}` | `${BorderRadiusTokensKeys}${string}` | `${SpacingTokensKeys}${string}`;
type FilterKeys<T, Pattern extends string> = T extends Pattern ? T : never;
type AbstractTokens = Record<string, any>;
type OnlyColorTokens<T extends AbstractTokens> = {
    [K in keyof T]: T[K] extends object ? never : K extends ExcludedTokenKeys ? never : K;
}[keyof T];
export declare const createApplyPaperMixin: <T extends AbstractTokens>(tokens: T) => ({ backgroundColor, shadow, borderRadius, styles }: {
    backgroundColor?: OnlyColorTokens<T>;
    shadow?: FilterKeys<keyof T, `shadow${string}`>;
    borderRadius?: FilterKeys<keyof T, `borderRadius${string}`>;
    styles?: CSSProperties;
}) => CSSProperties;
export {};
//# sourceMappingURL=createApplyPaperMixin.d.ts.map