import type { ToolResult } from '../types/index.js';
import type { ExecFileFn } from '../types/github.js';
import type { EscalateResult } from '../types/escalator.js';
/**
 * Returns a ToolResult error if stuck specs are detected and no bypass flag
 * is set, or null if release may proceed. Handles autoFixDrift by closing
 * specs and forceRelease by logging an audit entry.
 *
 * Exported for use in the `stuckSpecGateResult` field of integration tests.
 */
export declare function runStuckSpecGate(forceRelease?: boolean, autoFixDrift?: boolean): Promise<ToolResult | null>;
export declare function handleCreateRelease(args: {
    version: string;
    generateNotes: boolean;
    draft: boolean;
    prerelease: boolean;
    /** SPEC-774: Bypass stuck-spec gate when true. Skipped specs appear in release notes. */
    forceRelease?: boolean;
    /** SPEC-774: Auto-close stuck specs (approved/implementing with merged branch) before releasing. */
    autoFixDrift?: boolean;
}, exec?: ExecFileFn): Promise<ToolResult>;
export declare function handleGenerateChangelog(args: {
    since: string;
    until: string;
    format: string;
    writeToFile?: boolean;
}, exec?: ExecFileFn): Promise<ToolResult>;
/**
 * SPEC-729: Run the GitHub release creation step with bounded retry logic.
 *
 * Wraps the publish step in `withEscalation('releaser', ...)` so that repeated
 * publish failures escalate to a human decision (abort is the default for Releaser).
 *
 * @param args        - Release creation arguments.
 * @param projectId   - Project identifier for retry counter persistence.
 * @param specId      - Spec identifier for retry counter keying.
 * @param frontmatterSha - Frontmatter SHA for retry counter keying.
 * @param exec        - Optional exec function (injectable for testing).
 */
export declare function handleCreateReleaseWithEscalation(args: {
    version: string;
    generateNotes: boolean;
    draft: boolean;
    prerelease: boolean;
}, projectId: string, specId: string, frontmatterSha: string, exec?: ExecFileFn): Promise<EscalateResult<ToolResult>>;
//# sourceMappingURL=github-release-handler.d.ts.map