import type { OverlayType } from '../state/types.js';
import type { ApprovalRequest } from '../components/ApprovalPrompt.js';
export type OverlayPresentation = 'none' | 'inline' | 'focus';
/**
 * Determine how an overlay/approval should be presented in the CLI.
 *
 * - `inline`: small overlays that keep the main input visible (e.g. autocomplete)
 * - `focus`: overlays/approvals that should take focus and hide UI chrome (input + footer)
 */
export declare function getOverlayPresentation(activeOverlay: OverlayType, approval: ApprovalRequest | null): OverlayPresentation;
export declare function shouldHideCliChrome(activeOverlay: OverlayType, approval: ApprovalRequest | null): boolean;
/**
 * Hide "always-on" chrome (status bar, panels, footer) whenever any overlay is visible.
 *
 * This keeps inline overlays (like slash/resource autocomplete) from competing for scarce
 * terminal rows, and reduces flicker by keeping the total rendered height stable.
 */
export declare function shouldHideStatusChrome(activeOverlay: OverlayType, approval: ApprovalRequest | null): boolean;
//# sourceMappingURL=overlayPresentation.d.ts.map