import { OnChanges, SimpleChanges } from '@angular/core';
import * as i0 from "@angular/core";
/**
 * @description
 * Component that wraps content and manages focus state when content is blocked.
 * Provides accessibility attributes and handles focus restoration when blocking/unblocking.
 */
export declare class EuiBlockContentComponent implements OnChanges {
    /** CSS classes applied to the host element */
    get cssClasses(): string;
    /**
     * ARIA role for the content wrapper
     * @default 'region'
     */
    role: string;
    /**
     * ARIA label for the content wrapper
     * @default 'block content wrapper'
     */
    ariaLabel: string;
    /**
     * Whether the content is currently blocked
     * When true, focused elements within will be blurred and state saved
     * @default false
     */
    isBlocked: boolean;
    /** Stores the element focused before content was blocked */
    private lastActiveElement;
    private elRef;
    private renderer;
    /**
     * Handles changes to the blocked state.
     * Manages focus when content is blocked or unblocked.
     */
    ngOnChanges(changes: SimpleChanges): void;
    /**
     * Removes focus from the currently focused element when blocking
     * Stores the element reference for later restoration
     *
     * @param activeElement - The currently focused element
     */
    deactivateElement(activeElement: HTMLElement): void;
    /**
     * Restores focus to the previously focused element when unblocking
     *
     * @param element - The element that was previously focused
     */
    reactivateElement(element: HTMLElement): void;
    /**
     * Determines if the content is transitioning to a blocked state
     *
     * @param change - Angular SimpleChange object
     * @returns true if the content is being blocked, false otherwise
     */
    private isAboutToBlock;
    /**
     * Finds the currently focused element within the block content
     *
     * @returns The currently focused HTMLElement or null if none found
     */
    private getActiveElement;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiBlockContentComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiBlockContentComponent, "eui-block-content", never, { "role": { "alias": "role"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "isBlocked": { "alias": "isBlocked"; "required": false; }; }, {}, never, ["*"], true, never>;
    static ngAcceptInputType_isBlocked: unknown;
}
//# sourceMappingURL=eui-block-content.component.d.ts.map