import { RenderProps, RuntimeStyleFunction } from './types'; type ArgTypes = T extends (props: infer V) => any ? NullToObject : never; type NullToObject = T extends (null | undefined) ? {} : T; type BoxedTupleTypes = { [P in keyof T]: [ArgTypes]; }[Exclude]; type BoxedReturnTypes = { [P in keyof T]: [InferReturn]; }[Exclude]; type UnboxIntersection = T extends { 0: infer U; } ? U : never; type Arg = RuntimeStyleFunction | null | undefined; type NoInfer = [T, void][T extends any ? 0 : 1]; type InferReturn = T extends (props: any) => infer R ? NullToObject : never; type UnionToIntersection = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never; type InferReturnType = UnboxIntersection>>; export declare function merge = never, X = {}>(...args: Arg, NoInfer>[]): RuntimeStyleFunction; export declare function merge[]>(...args: T): RuntimeStyleFunction, UnboxIntersection>>>; export declare function mergeStyles(...styles: (string | null | undefined)[]): string; export {};