import { ElementRef, OnInit, Renderer2 } from '@angular/core';
import { LyTheme2, StyleRenderer } from '@alyle/ui';
import * as i0 from "@angular/core";
export type AlignItems = 'start' | 'center' | 'end' | 'stretch' | 'baseline';
export declare const STYLES: () => {
    $priority: number;
    $name: string;
    root: (_className: string) => string;
    item: (_className: string) => string;
};
export type Justify = 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly';
export type Direction = 'row' | 'rowReverse' | 'column' | 'columnReverse';
/**
 * Grid container
 */
export declare class LyGrid {
    private theme;
    private el;
    static readonly и = "LyGrid";
    /**
     * Styles
     * @docs-private
     */
    readonly classes: import("@alyle/ui").LyClasses<() => {
        $priority: number;
        $name: string;
        root: (_className: string) => string;
        item: (_className: string) => string;
    }>;
    private _spacing;
    _spacingClass?: string;
    private _spacingX;
    _spacingXClass?: string;
    private _spacingY;
    _spacingYClass?: string;
    private _negativeMarginClass?;
    private _justify;
    private _justifyClass?;
    private _direction;
    private _directionClass?;
    private _alignItems;
    private _alignItemsClass?;
    get spacingX(): string | number;
    set spacingX(val: string | number);
    get spacingY(): string | number;
    set spacingY(val: string | number);
    /**
     * Defines the space between the component with the `item` attribute.
     * Support breakpoints
     */
    get spacing(): string | number;
    set spacing(val: string | number);
    /**
     * Only one param must be defined
     */
    private _createSpacingClass;
    /**
     * Defines the justify-content style property.
     * Support breakpoints
     */
    get justify(): Justify;
    set justify(val: Justify);
    /**
     * Defines the justify-content style property.
     * Support breakpoints
     */
    get direction(): Direction;
    set direction(val: Direction);
    /**
     * Defines the `align-items` style property.
     * Support breakpoints
     */
    set alignItems(val: AlignItems);
    get alignItems(): AlignItems;
    constructor(theme: LyTheme2, el: ElementRef);
    static ɵfac: i0.ɵɵFactoryDeclaration<LyGrid, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<LyGrid, "ly-grid[container]", never, { "spacingX": { "alias": "spacingX"; "required": false; }; "spacingY": { "alias": "spacingY"; "required": false; }; "spacing": { "alias": "spacing"; "required": false; }; "justify": { "alias": "justify"; "required": false; }; "direction": { "alias": "direction"; "required": false; }; "alignItems": { "alias": "alignItems"; "required": false; }; }, {}, never, never, false, never>;
}
export declare class LyGridItem implements OnInit {
    private gridContainer;
    private el;
    private theme;
    private _sr;
    static readonly и = "LyGridItem";
    private _col;
    private _colClass;
    private _order;
    private _orderClass;
    /**
     * Defines the number of grids
     * Support breakpoints
     */
    get col(): string | number;
    set col(val: string | number);
    set gridItemCol(val: string | number);
    get gridItemCol(): string | number;
    /**
     * Defines the order style property.
     * Support breakpoints
     */
    get order(): string | number;
    set order(val: string | number);
    constructor(gridContainer: LyGrid, el: ElementRef, renderer: Renderer2, theme: LyTheme2, _sr: StyleRenderer);
    ngOnInit(): void;
    private _updateSpacing;
    static ɵfac: i0.ɵɵFactoryDeclaration<LyGridItem, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<LyGridItem, "ly-grid[item], [ly-grid-item], [lyGridItem]", never, { "col": { "alias": "col"; "required": false; }; "gridItemCol": { "alias": "lyGridItem"; "required": false; }; "order": { "alias": "order"; "required": false; }; }, {}, never, never, false, never>;
}
