import { Update } from '../update'; import { Version } from '../version'; import { BaseStrategy, BaseStrategyOptions, BuildUpdatesOptions } from './base'; import { Commit } from '../commit'; import { Release } from '../release'; import { ReleasePullRequest } from '../release-pull-request'; import { VersioningStrategy } from '../versioning-strategy'; export interface JavaBuildUpdatesOption extends BuildUpdatesOptions { isSnapshot?: boolean; } /** * A strategy that generates SNAPSHOT version after each release, which is standard especially in Maven projects. * * This is universal strategy that does not update any files on its own. Use maven strategy for Maven projects. */ export declare class Java extends BaseStrategy { protected readonly snapshotVersioning: VersioningStrategy; protected readonly snapshotLabels: string[]; readonly skipSnapshot: boolean; constructor(options: BaseStrategyOptions); buildReleasePullRequest(commits: Commit[], latestRelease?: Release, draft?: boolean, labels?: string[]): Promise; protected buildSnapshotPullRequest(latestRelease?: Release, draft?: boolean, labels?: string[]): Promise; isPublishedVersion(version: Version): boolean; protected needsSnapshot(commits: Commit[], latestRelease?: Release): Promise; protected buildUpdates(options: JavaBuildUpdatesOption): Promise; }