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";
import { IgcGridConditionalStyleCollection } from './igc-grid-conditional-style-collection';
import { IgcGridConditionalStyleComponent } from './igc-grid-conditional-style-component';
/**
 * Base class for various definition types for the grid.
*/
export declare abstract class IgcDefinitionBaseComponent extends IgcHTMLElement {
    protected createImplementation(): DefinitionBase;
    protected _implementation: any;
    /**
     * @hidden
     */
    get i(): DefinitionBase; /**
                                 * @hidden
                                 */
    static _createFromInternal(internal: any): IgcDefinitionBaseComponent;
    private onImplementationCreated;
    protected _initializeAdapters(): void;
    protected _updateAdapters(): void;
    constructor();
    private _renderer;
    private _provideRenderer;
    protected __p: string;
    protected _hasUserValues: Set<string>;
    protected get 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;
    disconnectedCallback(): void;
    private static _observedAttributesIgcDefinitionBaseComponent;
    static get observedAttributes(): string[];
    private _updatingFromAttribute;
    attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
    /**
 * Gets or sets the background color to use.
*/
    get background(): string;
    set background(v: string);
    private _conditionalStyles;
    private _actualConditionalStyles;
    get actualConditionalStyles(): IgcGridConditionalStyleComponent[];
    private _contentConditionalStyles;
    get contentConditionalStyles(): IgcGridConditionalStyleComponent[];
    private _conditionalStylesAdapter;
    /**
     * Gets the style key information to use for judging when a property will be set later by a style
    */
    get conditionalStyles(): IgcGridConditionalStyleCollection;
    /**
     * Gets or sets the background color to use.
    */
    get border(): string;
    set border(v: string);
    /**
     * Gets or sets the background color to use.
    */
    get activationBorder(): string;
    set activationBorder(v: string);
    /**
     * Gets or sets the error border color to use.
    */
    get errorBorder(): string;
    set errorBorder(v: string);
    /**
     * Gets the actual border color that will be used.
    */
    get actualBorder(): string;
    set actualBorder(v: string);
    /**
     * Gets or sets the amount of left border to use for the cell content for this column.
    */
    get borderLeftWidth(): number;
    set borderLeftWidth(v: number);
    /**
     * Gets or sets the amount of top border to use for the cell content for this column.
    */
    get borderTopWidth(): number;
    set borderTopWidth(v: number);
    /**
     * Gets or sets the amount of right border to use for the cell content of this column.
    */
    get borderRightWidth(): number;
    set borderRightWidth(v: number);
    /**
     * Gets or sets the amount of bottom border to use for the cell content of this column.
    */
    get borderBottomWidth(): number;
    set borderBottomWidth(v: number);
    /**
     * Gets or sets the amount of left activation border to use for the cell content for this column.
    */
    get activationBorderLeftWidth(): number;
    set activationBorderLeftWidth(v: number);
    /**
     * Gets or sets the amount of top activation border to use for the cell content for this column.
    */
    get activationBorderTopWidth(): number;
    set activationBorderTopWidth(v: number);
    /**
     * Gets or sets the amount of right activation border to use for the cell content of this column.
    */
    get activationBorderRightWidth(): number;
    set activationBorderRightWidth(v: number);
    /**
     * Gets or sets the amount of bottom activation border to use for the cell content of this column.
    */
    get activationBorderBottomWidth(): number;
    set activationBorderBottomWidth(v: number);
    get errorBorderLeftWidth(): number;
    set errorBorderLeftWidth(v: number);
    get errorBorderTopWidth(): number;
    set errorBorderTopWidth(v: number);
    get errorBorderRightWidth(): number;
    set errorBorderRightWidth(v: number);
    get errorBorderBottomWidth(): number;
    set errorBorderBottomWidth(v: number);
    /**
     * Gets the actual background color that will be used.
    */
    get actualBackground(): string;
    set actualBackground(v: string);
    /**
     * Gets the actual background color that will be used.
    */
    get actualActivationBorder(): string;
    set actualActivationBorder(v: string);
    /**
     * Gets the actual error border color that will be used.
    */
    get actualErrorBorder(): string;
    set actualErrorBorder(v: string);
    /**
     * Gets or sets the background color for content that sticks to the top of the grid.
    */
    get stickyRowBackground(): string;
    set stickyRowBackground(v: string);
    /**
     * Gets the actual background color for content that sticks to the top of the grid.
    */
    get actualStickyRowBackground(): string;
    set actualStickyRowBackground(v: string);
    /**
     * Gets or sets the background color for cells belonging to rows marked as pinned.
    */
    get pinnedRowBackground(): string;
    set pinnedRowBackground(v: string);
    /**
     * Gets the actual background color for cells belonging to rows marked as pinned.
    */
    get actualPinnedRowBackground(): string;
    set actualPinnedRowBackground(v: string);
    /**
     * Gets or sets the color for the last row in the sticky row area.
    */
    get lastStickyRowBackground(): string;
    set lastStickyRowBackground(v: string);
    /**
     * Gets the actual color for the last row in the sticky row area.
    */
    get actualLastStickyRowBackground(): string;
    set actualLastStickyRowBackground(v: string);
    /**
     * Gets or sets the opacity of the content.
    */
    get contentOpacity(): number;
    set contentOpacity(v: number);
    /**
     * Gets or sets the horizontal alignment to use for the cell content.
    */
    get horizontalAlignment(): CellContentHorizontalAlignment;
    set horizontalAlignment(v: CellContentHorizontalAlignment);
    /**
     * Gets or sets the vertical alignment to use for the cell content.
    */
    get verticalAlignment(): CellContentVerticalAlignment;
    set verticalAlignment(v: CellContentVerticalAlignment);
    /**
     * Gets or sets the line breaking mode to use if text is present in the cell.
    */
    get lineBreakMode(): TextCellLineBreakMode;
    set lineBreakMode(v: TextCellLineBreakMode);
    /**
     * Gets the actual line break mode which will be used if text is present in the cell.
    */
    get actualLineBreakMode(): TextCellLineBreakMode;
    set actualLineBreakMode(v: TextCellLineBreakMode);
    /**
     * Gets or sets the color to use for displaying text.
    */
    get textColor(): string;
    set textColor(v: string);
    /**
     * Gets the actual color used for displaying text.
    */
    get actualTextColor(): string;
    set actualTextColor(v: string);
    /**
     * Gets or sets whether the bar is supported.
    */
    get isBarSupported(): boolean;
    set isBarSupported(v: boolean);
    /**
     * Gets or sets the color to use for value bars.
    */
    get barBackground(): string;
    set barBackground(v: string);
    /**
     * Gets the actual color used for value bars.
    */
    get actualBarBackground(): string;
    set actualBarBackground(v: string);
    /**
     * Gets or sets the Outline color to use for value bars.
    */
    get barOutline(): string;
    set barOutline(v: string);
    /**
     * Gets the actual Outline color used for value bars.
    */
    get actualBarOutline(): string;
    set actualBarOutline(v: string);
    /**
     * Gets or sets the stroke thickness to use for value bars.
    */
    get barStrokeThickness(): number;
    set barStrokeThickness(v: number);
    /**
     * Gets the actual stroke thickness used for value bars.
    */
    get actualBarStrokeThickness(): number;
    set actualBarStrokeThickness(v: number);
    /**
     * Gets or sets the stroke thickness to use for value bars.
    */
    get barCornerRadius(): number;
    set barCornerRadius(v: number);
    /**
     * Gets the actual stroke thickness used for value bars.
    */
    get actualBarCornerRadius(): number;
    set actualBarCornerRadius(v: number);
    /**
     * Gets or sets the color to use for displaying text.
    */
    get pinnedRowOpacity(): number;
    set pinnedRowOpacity(v: number);
    /**
     * Gets or sets the color to use for displaying text.
    */
    get actualPinnedRowOpacity(): number;
    set actualPinnedRowOpacity(v: number);
    get textStyle(): string;
    set textStyle(v: string);
    get isBarRequired(): boolean;
    findByName(name: string): any;
    transitionStyleOut(style: IgcGridConditionalStyleComponent): void;
    transitionStyleIn(style: IgcGridConditionalStyleComponent): void;
    isStyleTransitioningOut(style: IgcGridConditionalStyleComponent): boolean;
    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.
    */
    get dataBinding(): (s: IgcDefinitionBaseComponent, e: IgcDataBindingEventArgs) => void;
    set dataBinding(ev: (s: IgcDefinitionBaseComponent, e: IgcDataBindingEventArgs) => void);
    private _dataBound;
    private _dataBound_wrapped;
    /**
     * Called when a cell has been data bound.
    */
    get dataBound(): (s: IgcDefinitionBaseComponent, e: IgcDataBindingEventArgs) => void;
    set dataBound(ev: (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.
    */
    get cellStyleKeyRequested(): (s: IgcDefinitionBaseComponent, e: IgcCellStyleRequestedEventArgs) => void;
    set cellStyleKeyRequested(ev: (s: IgcDefinitionBaseComponent, e: IgcCellStyleRequestedEventArgs) => void);
}
