import type { ContextHaving, ContextUsing } from '../../../framework-types/execution-context/Types'; import type { NamedTask, Task } from '../../../framework-types/task/Types'; import type { Constants } from '../core/Constants'; import type { EventListenerEffect } from '../core/effects/EventListenerEffectFactory'; import type { CoreStateAtoms } from '../core/Types'; import { CoreExportNames } from '../core/Types'; import type { CoreUtils } from '../core/utils/Types'; import type { ContextWithState } from '../Types'; import type { SourceConfig } from './atoms/SourceConfigAtom'; import type { SourceOptions, SourceStateAtom } from './atoms/SourceStateAtom'; import type { SourceReference } from './Types'; import { SourceExportNames } from './Types'; type ExtendedContext = ContextHaving<{ [CoreExportNames.CoreStateAtoms]: CoreStateAtoms; [CoreExportNames.Utils]: CoreUtils; [CoreExportNames.Constants]: Constants; }, { [SourceExportNames.SourceState]: SourceStateAtom; }, ContextUsing<[EventListenerEffect], ContextWithState>>; type CreateSourceReferenceParam = { context: ExtendedContext; sourceConfig: SourceConfig; sourceOptions?: Partial; sourceErrorHandler?: (error: Error) => boolean; task?: NamedTask>; sourceId?: string; }; export declare function createSourceReference({ context, sourceConfig, sourceOptions, sourceErrorHandler, task, sourceId, }: CreateSourceReferenceParam): SourceReference; export {};