import { type GithubAdvisoryStrategyDefinition, type GithubVulnerability, type NpmAuditAdvisory, type PnpmAuditAdvisory } from "./strategies/github-advisory.js";
import { type SnykStrategyDefinition, type SnykVulnerability } from "./strategies/snyk.js";
import { type SonatypeStrategyDefinition, type SonatypeVulnerability } from "./strategies/sonatype.js";
import { type NoneStrategyDefinition } from "./strategies/none.js";
import { type Kind } from "./constants.js";
import type { StandardVulnerability, Severity, StandardPatch } from "./formats/standard/index.js";
import type { OSV } from "./formats/osv/index.js";
import type { Dependencies, ScannerVersionDescriptor } from "./strategies/types/scanner.js";
import type { BaseStrategy, ExtendedStrategy, BaseStrategyOptions, HydratePayloadDepsOptions } from "./strategies/types/api.js";
export * as Database from "./database/index.js";
export type AllStrategy = {
    "none": NoneStrategyDefinition;
    "github-advisory": GithubAdvisoryStrategyDefinition;
    "snyk": SnykStrategyDefinition;
    "sonatype": SonatypeStrategyDefinition;
};
export type AnyStrategy = AllStrategy[keyof AllStrategy];
export declare function setStrategy<T extends Kind>(name: T): AllStrategy[T];
export declare function getStrategy(): AnyStrategy;
export declare const strategies: Readonly<{
    GITHUB_ADVISORY: "github-advisory";
    SNYK: "snyk";
    SONATYPE: "sonatype";
    NONE: "none";
}>;
export declare const defaultStrategyName: "none";
export { Kind, BaseStrategyOptions, BaseStrategy, ExtendedStrategy, HydratePayloadDepsOptions, Dependencies, ScannerVersionDescriptor, StandardVulnerability, StandardPatch, Severity, GithubVulnerability, NpmAuditAdvisory, PnpmAuditAdvisory, SnykVulnerability, SonatypeVulnerability, OSV };
