import * as i1 from '@eui/components/shared';
import { BaseStatesDirective } from '@eui/components/shared';
import { LocaleService, LocaleState } from '@eui/core';
import * as i0 from '@angular/core';

/**
 * @description
 * A visual date display component that presents dates in a calendar block format with day, month, and year.
 * Useful for event listings, timelines, and date-centric interfaces.
 *
 * @usageNotes
 * ### Basic Usage
 * ```html
 * <eui-date-block [blockDate]="eventDate"></eui-date-block>
 * ```
 *
 * ### With Custom Format
 * ```typescript
 * <eui-date-block
 *   [blockDate]="meetingDate"
 *   dateFormat="dd/MM/yyyy">
 * </eui-date-block>
 * ```
 *
 * ### Accessibility
 * - Uses semantic `role="section"` for proper screen reader identification
 * - Date is formatted according to locale settings for internationalization
 * - Visual date representation is supplemented with accessible text
 *
 * ### Notes
 * - Automatically adapts to current locale via `LocaleService`
 * - Use `euiPrimary` or `euiSecondary` for color variants
 * - `dateFormat` accepts any valid Angular DatePipe format string
 * - Component is read-only and does not support user interaction
 */
declare class EuiDateBlockComponent {
    /**
     * @description
     * Computes and returns the CSS classes for the badge based on its current state
     *
     * @returns {string} Space-separated string of CSS class names
     */
    get cssClasses(): string;
    /** @description ARIA role for accessibility */
    role: string;
    /** @description Data attribute for e2e testing */
    e2eAttr: string;
    dateFormat: string;
    blockDate: Date;
    /** @description Instance of BaseStatesDirective for managing component states */
    protected baseStatesDirective: BaseStatesDirective;
    protected locale: LocaleService<LocaleState>;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiDateBlockComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiDateBlockComponent, "eui-date-block", never, { "e2eAttr": { "alias": "e2eAttr"; "required": false; }; "dateFormat": { "alias": "dateFormat"; "required": false; }; "blockDate": { "alias": "blockDate"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.BaseStatesDirective; inputs: { "euiPrimary": "euiPrimary"; "euiSecondary": "euiSecondary"; }; outputs: {}; }]>;
}

declare const EUI_DATE_BLOCK: readonly [typeof EuiDateBlockComponent];

export { EUI_DATE_BLOCK, EuiDateBlockComponent };
//# sourceMappingURL=eui-components-eui-date-block.d.ts.map
