import type { Ref, RefCallback } from 'react';
import { type ComponentCSSPropsConfig, type CSSPropsConfig, type CSSPropType, type GDSComponent } from '@graphprotocol/gds-css';
import { type PassedValues, type PropValues } from './useCSSProps.ts';
type ExtractPolyfillValues<P extends CSSPropsConfig> = {
    [K in keyof P as P[K]['type'] extends 'values' ? K : never]: CSSPropType<P[K]> | undefined;
};
type PassedPolyfillValues<C extends GDSComponent> = keyof ExtractPolyfillValues<ComponentCSSPropsConfig<C>> extends never ? never : ExtractPolyfillValues<ComponentCSSPropsConfig<C>>;
type ReturnedPropValues<C extends GDSComponent, R> = R extends true ? PropValues<PassedPolyfillValues<C>> : R extends PassedValues<C> ? PropValues<R> : never;
/**
 * This hook should be called by components with CSS props of type `values`, for the `prop-*`
 * utility classes to work in browsers that don't support style queries (Firefox).
 */
export declare function useCSSPropsPolyfill<C extends GDSComponent>(component: C, passedValues: PassedPolyfillValues<C>, options?: {
    ref?: Ref<HTMLElement> | undefined;
}): readonly [RefCallback<HTMLElement>, Record<string, string>];
export declare function useCSSPropsPolyfill<C extends GDSComponent, R extends PassedValues<C> | true>(component: C, passedValues: PassedPolyfillValues<C>, options: {
    ref?: Ref<HTMLElement> | undefined;
    returnPropValues: R;
}): readonly [RefCallback<HTMLElement>, Record<string, string>, ReturnedPropValues<C, R>];
export {};
//# sourceMappingURL=useCSSPropsPolyfill.d.ts.map