import type { VersionConfig } from './versioning'; export interface ReleaseGuardConfig { enabled?: boolean; tagPrefix?: string; allowBuildMetadata?: boolean; checkReleaseFloor?: boolean; metadataFiles?: string[]; } export interface ReleaseGuardOptions { tag: string; tagPrefix?: string; tagFormat?: string; packages?: string[]; metadataFiles?: string[]; allowBuildMetadata?: boolean; checkReleaseFloor?: boolean; } export interface ReleaseGuardTargetResult { path: string; version: string; source: 'root' | 'package' | 'metadata'; } export interface ReleaseGuardResult { tag: string; tagPrefix: string; normalizedTag: string; targetResults: ReleaseGuardTargetResult[]; floor?: { value: string; source: string; }; } export declare function deriveTagPrefixFromFormat(tagFormat: string): string; export declare function stripTag(tag: string, prefix?: string, allowBuildMetadata?: boolean): string; export declare function renderTagFormat(tagFormat: string, version: string): string; export declare function readVersionFromPath(filePath: string): Promise; export declare function validateTagVersionMatch(tag: string, packageJsonPath: string, options?: { tagPrefix?: string; allowBuildMetadata?: boolean; }): Promise<{ matched: boolean; tag: string; normalizedTag: string; version: string | null; packageJsonPath: string; }>; export declare function runReleaseGuard(config: VersionConfig, options: ReleaseGuardOptions): Promise; //# sourceMappingURL=release-guard.d.ts.map