import { PluginSpec, Options, VerifyConditionsContext, AnalyzeCommitsContext, VerifyReleaseContext, GenerateNotesContext, PrepareContext, PublishContext, AddChannelContext, SuccessContext, FailContext } from 'semantic-release'; type Hooks = { verifyConditions?: (config: Options, context: VerifyConditionsContext) => unknown; analyzeCommits?: (config: Options, context: AnalyzeCommitsContext) => unknown; verifyRelease?: (config: Options, context: VerifyReleaseContext) => unknown; generateNotes?: (config: Options, context: GenerateNotesContext) => unknown; prepare?: (config: Options, context: PrepareContext) => unknown; publish?: (config: Options, context: PublishContext) => unknown; addChannel?: (config: Options, context: AddChannelContext) => unknown; success?: (config: Options, context: SuccessContext) => unknown; fail?: (config: Options, context: FailContext) => unknown; }; declare const definePlugin: (config: T, enabled?: boolean) => T | undefined; declare const definePluginHooks: (hooks: Hooks) => Hooks; declare function getPackageJSON(): Record | undefined; declare function getRepositoryName(): string; /** * Type guard to filter out falsy values * * @category Guards * @example array.filter(isTruthy) */ declare function isTruthy(v: T): v is Exclude, false>; declare function capitalize(s: string): string; export { capitalize, definePlugin, definePluginHooks, getPackageJSON, getRepositoryName, isTruthy };