import * as T from '../types'; export type RequiredDependenciesOf = { [K in keyof Manifest['dependencies']]: Exclude['optional'] extends false ? K : never; }[keyof Manifest['dependencies']]; export type OptionalDependenciesOf = Exclude>; type DependencyRequirement = { kind: 'running'; healthChecks: Array; versionRange: string; } | { kind: 'exists'; versionRange: string; }; export type CurrentDependenciesResult = { [K in RequiredDependenciesOf]: DependencyRequirement; } & { [K in OptionalDependenciesOf]?: DependencyRequirement; }; export declare function setupDependencies(fn: (options: { effects: T.Effects; }) => Promise>): (effects: T.Effects) => Promise; export {};