import { AnyRecord, SagaPlugin } from '../types'; type OptionalPropertyNames = { [K in keyof T]-?: ({} extends { [P in K]: T[K]; } ? K : never); }[keyof T]; type SpreadProperties = { [P in K]: L[P] | Exclude; }; type Id = T extends infer U ? { [K in keyof U]: U[K]; } : never; type SpreadTwo = Id> & Pick>> & Pick, keyof L>> & SpreadProperties & keyof L>>; type Spread = A extends [infer L, ...infer R] ? SpreadTwo> : unknown; export declare const merge: (...a: A) => Spread; export declare const mergePlugins: (...plugins: A) => { main: Spread<{ [P in keyof A]: A[P]["main"]; }>; lower: Spread<{ [P_1 in keyof A]: A[P_1]["lower"]; }>; higher: Spread<{ [P_2 in keyof A]: A[P_2]["higher"]; }>; }; export {};