import { ElementRef } from '@angular/core';
import { CdkCell, CdkCellDef, CdkColumnDef, CdkFooterCell, CdkFooterCellDef, CdkHeaderCell, CdkHeaderCellDef } from '@angular/cdk/table';
import { StyleRenderer } from '@alyle/ui';
import * as i0 from "@angular/core";
/**
 * Cell definition for the ly-table.
 * Captures the template of a column's data row cell as well as cell-specific properties.
 */
export declare class LyCellDef extends CdkCellDef {
    static ɵfac: i0.ɵɵFactoryDeclaration<LyCellDef, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<LyCellDef, "[lyCellDef]", never, {}, {}, never, never, false, never>;
}
/**
 * Header cell definition for the ly-table.
 * Captures the template of a column's header cell and as well as cell-specific properties.
 */
export declare class LyHeaderCellDef extends CdkHeaderCellDef {
    static ɵfac: i0.ɵɵFactoryDeclaration<LyHeaderCellDef, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<LyHeaderCellDef, "[lyHeaderCellDef]", never, {}, {}, never, never, false, never>;
}
/**
 * Footer cell definition for the ly-table.
 * Captures the template of a column's footer cell and as well as cell-specific properties.
 */
export declare class LyFooterCellDef extends CdkFooterCellDef {
    static ɵfac: i0.ɵɵFactoryDeclaration<LyFooterCellDef, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<LyFooterCellDef, "[lyFooterCellDef]", never, {}, {}, never, never, false, never>;
}
/**
 * Column definition for the ly-table.
 * Defines a set of cells available for a table column.
 */
export declare class LyColumnDef extends CdkColumnDef {
    /** Unique name for this column. */
    get name(): string;
    set name(name: string);
    /**
     * Add "ly-column-" prefix in addition to "cdk-column-" prefix.
     * In the future, this will only add "ly-column-" and columnCssClassName
     * will change from type string[] to string.
     * @docs-private
     */
    protected _updateColumnCssClassName(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<LyColumnDef, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<LyColumnDef, "[lyColumnDef]", never, { "name": { "alias": "lyColumnDef"; "required": false; }; }, {}, never, never, false, never>;
}
/** Header cell template container that adds the right classes and role. */
export declare class LyHeaderCell extends CdkHeaderCell {
    readonly sRenderer: StyleRenderer;
    readonly classes: import("@alyle/ui").LyClasses<(theme: import("@alyle/ui").ThemeVariables & import("./styles").LyTableVariables, ref: import("@alyle/ui").ThemeRef) => {
        $name: string;
        $global: () => (_className: string) => string;
        root: () => (_className: string) => string;
        column: any;
        headerCell: (_className: string) => string;
        footerCell: any;
        cell: any;
        row: any;
        headerRow: (_className: string) => string;
        footerRow: any;
        sticky: (_className: string) => string;
        noDataRow: any;
        fixedLayout: (_className: string) => string;
    }>;
    constructor(columnDef: CdkColumnDef, elementRef: ElementRef, sRenderer: StyleRenderer);
    static ɵfac: i0.ɵɵFactoryDeclaration<LyHeaderCell, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<LyHeaderCell, "ly-header-cell, th[ly-header-cell]", never, {}, {}, never, never, false, never>;
}
/** Footer cell template container that adds the right classes and role. */
export declare class LyFooterCell extends CdkFooterCell {
    readonly sRenderer: StyleRenderer;
    readonly classes: import("@alyle/ui").LyClasses<(theme: import("@alyle/ui").ThemeVariables & import("./styles").LyTableVariables, ref: import("@alyle/ui").ThemeRef) => {
        $name: string;
        $global: () => (_className: string) => string;
        root: () => (_className: string) => string;
        column: any;
        headerCell: (_className: string) => string;
        footerCell: any;
        cell: any;
        row: any;
        headerRow: (_className: string) => string;
        footerRow: any;
        sticky: (_className: string) => string;
        noDataRow: any;
        fixedLayout: (_className: string) => string;
    }>;
    constructor(columnDef: CdkColumnDef, elementRef: ElementRef, sRenderer: StyleRenderer);
    static ɵfac: i0.ɵɵFactoryDeclaration<LyFooterCell, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<LyFooterCell, "ly-footer-cell, td[ly-footer-cell]", never, {}, {}, never, never, false, never>;
}
/** Cell template container that adds the right classes and role. */
export declare class LyCell extends CdkCell {
    readonly sRenderer: StyleRenderer;
    readonly classes: import("@alyle/ui").LyClasses<(theme: import("@alyle/ui").ThemeVariables & import("./styles").LyTableVariables, ref: import("@alyle/ui").ThemeRef) => {
        $name: string;
        $global: () => (_className: string) => string;
        root: () => (_className: string) => string;
        column: any;
        headerCell: (_className: string) => string;
        footerCell: any;
        cell: any;
        row: any;
        headerRow: (_className: string) => string;
        footerRow: any;
        sticky: (_className: string) => string;
        noDataRow: any;
        fixedLayout: (_className: string) => string;
    }>;
    constructor(columnDef: CdkColumnDef, elementRef: ElementRef, sRenderer: StyleRenderer);
    static ɵfac: i0.ɵɵFactoryDeclaration<LyCell, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<LyCell, "ly-cell, td[ly-cell]", never, {}, {}, never, never, false, never>;
}
