import { SessionState, CustomSaga } from './interfaces';
import { SDKStore } from './';
import type { BaseComponent } from '../BaseComponent';
import { EventEmitter } from '../utils/EventEmitter';
type SessionEventHandler = (session: SessionState) => unknown;
interface Connect<T> {
    sessionListeners?: Partial<Record<ReduxSessionKeys, string | SessionEventHandler>>;
    store: SDKStore;
    Component: new (o: any) => T;
    customSagas?: Array<CustomSaga<T>>;
}
type ReduxSessionKeys = keyof SessionState;
export declare const connect: <EventTypes extends EventEmitter.ValidEventTypes, 
/**
 * Class extending BaseComponent.
 */
T extends BaseComponent<EventTypes>, 
/**
 * The type the end user will be interacting with.
 */
TargetType>(options: Connect<T>) => (userOptions: any) => TargetType;
export {};
//# sourceMappingURL=connect.d.ts.map