import { ElementRef, OnChanges, OnInit } from '@angular/core';
import { FudisGridItemAlignment, FudisGridItemAlignResponsive, FudisGridItemWidth, FudisGridItemColumnsResponsive } from '../../../types/grid';
import { FudisBreakpointService } from '../../../services/breakpoint/breakpoint.service';
import * as i0 from "@angular/core";
export declare class GridItemDirective implements OnInit, OnChanges {
    private _gridItemElement;
    private _breakpointService;
    constructor(_gridItemElement: ElementRef, _breakpointService: FudisBreakpointService);
    /**
     * Apply CSS grid-column values for the Grid Item
     */
    private _calculatedColumns;
    /**
     * Apply horizontal CSS values for the Grid Item
     */
    private _calculatedAlignX;
    /**
     * Apply vertical CSS values for the Grid Item
     */
    private _calculatedAlignY;
    /**
     * Internal reference for the Grid Item element
     */
    private _element;
    /**
     * Set columns for single Grid Item
     */
    set columns(value: FudisGridItemWidth | FudisGridItemColumnsResponsive);
    /**
     * Align Grid Item horizontally
     */
    set alignSelfX(value: FudisGridItemAlignment | FudisGridItemAlignResponsive);
    /**
     * Align Grid Item vertically
     */
    set alignSelfY(value: FudisGridItemAlignment | FudisGridItemAlignResponsive);
    ngOnInit(): void;
    ngOnChanges(): void;
    /**
     * Set CSS grid-column attributes for this Grid Item element
     */
    private _setColumns;
    /**
     * Set CSS justify-self attributes for this Grid Item element
     */
    private _setAlignX;
    /**
     * Set CSS align-self attributes for this Grid Item element
     */
    private _setAlignY;
    /**
     * Apply CSS settings from Inputs
     */
    private _applyGridItemCss;
    static ɵfac: i0.ɵɵFactoryDeclaration<GridItemDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<GridItemDirective, "[fudisGridItem]", never, { "columns": { "alias": "columns"; "required": false; }; "alignSelfX": { "alias": "alignSelfX"; "required": false; }; "alignSelfY": { "alias": "alignSelfY"; "required": false; }; }, {}, never, never, false, never>;
}
