import { CellContentHorizontalAlignment } from "./CellContentHorizontalAlignment";
import { CellContentVerticalAlignment } from "./CellContentVerticalAlignment";
import { TextCellLineBreakMode } from "./TextCellLineBreakMode";
import { IgcDataBindingEventArgs } from "./igc-data-binding-event-args";
import { IgcCellStyleRequestedEventArgs } from "./igc-cell-style-requested-event-args";
import { CellPropertyAnimationType } from "./CellPropertyAnimationType";
import { DefinitionBase } from "./DefinitionBase";
import { IgcHTMLElement } from "igniteui-webcomponents-core";
/**
 * Base class for various definition types for the grid.
*/
export declare abstract class IgcDefinitionBaseComponent extends IgcHTMLElement {
    protected createImplementation(): DefinitionBase;
    protected _implementation: any;
    /**
     * @hidden
     */
    readonly i: DefinitionBase; /**
                                 * @hidden
                                 */
    static _createFromInternal(internal: any): IgcDefinitionBaseComponent;
    private onImplementationCreated;
    constructor();
    private _renderer;
    private _provideRenderer;
    protected __p: string;
    protected _hasUserValues: Set<string>;
    protected readonly hasUserValues: Set<string>;
    protected __m(propertyName: string): void;
    protected _stylingContainer: any;
    protected _stylingParent: any;
    protected _inStyling: boolean;
    protected _styling(container: any, component: any, parent?: any): void;
    private _settingAttributes;
    protected _attached: boolean;
    private _queuedSetAttributes;
    protected _enqueueSetAttribute(attrName: string, attrValue: string): void;
    protected _flushQueuedAttributes(): void;
    protected _a(attrName: string, attrValue: any): void;
    connectedCallback(): void;
    private static _observedAttributesIgcDefinitionBaseComponent;
    static readonly observedAttributes: string[];
    private _updatingFromAttribute;
    attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
    /**
 * Gets or sets the background color to use.
*/
    background: string;
    /**
     * Gets or sets the background color to use.
    */
    border: string;
    /**
     * Gets or sets the background color to use.
    */
    activationBorder: string;
    /**
     * Gets or sets the error border color to use.
    */
    errorBorder: string;
    /**
     * Gets the actual border color that will be used.
    */
    actualBorder: string;
    /**
     * Gets or sets the amount of left border to use for the cell content for this column.
    */
    borderLeftWidth: number;
    /**
     * Gets or sets the amount of top border to use for the cell content for this column.
    */
    borderTopWidth: number;
    /**
     * Gets or sets the amount of right border to use for the cell content of this column.
    */
    borderRightWidth: number;
    /**
     * Gets or sets the amount of bottom border to use for the cell content of this column.
    */
    borderBottomWidth: number;
    /**
     * Gets or sets the amount of left activation border to use for the cell content for this column.
    */
    activationBorderLeftWidth: number;
    /**
     * Gets or sets the amount of top activation border to use for the cell content for this column.
    */
    activationBorderTopWidth: number;
    /**
     * Gets or sets the amount of right activation border to use for the cell content of this column.
    */
    activationBorderRightWidth: number;
    /**
     * Gets or sets the amount of bottom activation border to use for the cell content of this column.
    */
    activationBorderBottomWidth: number;
    errorBorderLeftWidth: number;
    errorBorderTopWidth: number;
    errorBorderRightWidth: number;
    errorBorderBottomWidth: number;
    /**
     * Gets the actual background color that will be used.
    */
    actualBackground: string;
    /**
     * Gets the actual background color that will be used.
    */
    actualActivationBorder: string;
    /**
     * Gets the actual error border color that will be used.
    */
    actualErrorBorder: string;
    /**
     * Gets or sets the background color for content that sticks to the top of the grid.
    */
    stickyRowBackground: string;
    /**
     * Gets the actual background color for content that sticks to the top of the grid.
    */
    actualStickyRowBackground: string;
    /**
     * Gets or sets the background color for cells belonging to rows marked as pinned.
    */
    pinnedRowBackground: string;
    /**
     * Gets the actual background color for cells belonging to rows marked as pinned.
    */
    actualPinnedRowBackground: string;
    /**
     * Gets or sets the color for the last row in the sticky row area.
    */
    lastStickyRowBackground: string;
    /**
     * Gets the actual color for the last row in the sticky row area.
    */
    actualLastStickyRowBackground: string;
    /**
     * Gets or sets the opacity of the content.
    */
    contentOpacity: number;
    /**
     * Gets or sets the horizontal alignment to use for the cell content.
    */
    horizontalAlignment: CellContentHorizontalAlignment;
    /**
     * Gets or sets the vertical alignment to use for the cell content.
    */
    verticalAlignment: CellContentVerticalAlignment;
    /**
     * Gets or sets the line breaking mode to use if text is present in the cell.
    */
    lineBreakMode: TextCellLineBreakMode;
    /**
     * Gets the actual line break mode which will be used if text is present in the cell.
    */
    actualLineBreakMode: TextCellLineBreakMode;
    /**
     * Gets or sets the color to use for displaying text.
    */
    textColor: string;
    /**
     * Gets the actual color used for displaying text.
    */
    actualTextColor: string;
    /**
     * Gets or sets the color to use for displaying text.
    */
    pinnedRowOpacity: number;
    /**
     * Gets or sets the color to use for displaying text.
    */
    actualPinnedRowOpacity: number;
    textStyle: string;
    findByName(name: string): any;
    setNamedValue(valueName: string, animationType: CellPropertyAnimationType, value: any): void;
    /**
     * Returns if this definition has named value.
    
    */
    hasNamedValues(): boolean;
    /**
     * Returns if this definition has a named value with a given name.
    
    * @param valueName  * The named value name to check for.
    */
    hasNamedValue(valueName: string): boolean;
    /**
     * Removes the named value from this definition by name.
    
    * @param valueName  * The named value name to remove.
    */
    removeNamedValue(valueName: string): void;
    /**
     * Gets the value for a named value from this definition.
    
    * @param valueName  * The named value name to check for.
    */
    getNamedValue(valueName: string): any;
    private _dataBinding;
    private _dataBinding_wrapped;
    /**
     * Called when a cell is data binding.
    */
    dataBinding: (s: IgcDefinitionBaseComponent, e: IgcDataBindingEventArgs) => void;
    private _dataBound;
    private _dataBound_wrapped;
    /**
     * Called when a cell has been data bound.
    */
    dataBound: (s: IgcDefinitionBaseComponent, e: IgcDataBindingEventArgs) => void;
    private _cellStyleKeyRequested;
    private _cellStyleKeyRequested_wrapped;
    /**
     * Called when the style key for a cell is needed. Used for recycling the cell.
    */
    cellStyleKeyRequested: (s: IgcDefinitionBaseComponent, e: IgcCellStyleRequestedEventArgs) => void;
}
