import { Base, Type } from "igniteui-angular-core";
import { CT_AnchorClientData } from "./CT_AnchorClientData";
import { CT_Point2D } from "./CT_Point2D";
import { CT_PositiveSize2D } from "./CT_PositiveSize2D";
import { CT_Marker } from "./CT_Marker";
import { ST_EditAs } from "./ST_EditAs";
/**
 * @hidden
 */
export declare abstract class EG_Anchor extends Base {
    static $t: Type;
    a: CT_AnchorClientData;
    abstract b<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_AnchorVisitor$2<TArg, TResult>, b: TArg): TResult;
}
/**
 * @hidden
 */
export declare class CT_AbsoluteAnchor extends EG_Anchor {
    static $t: Type;
    c: CT_Point2D;
    d: CT_PositiveSize2D;
    b<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_AnchorVisitor$2<TArg, TResult>, b?: TArg): TResult;
}
/**
 * @hidden
 */
export declare class CT_OneCellAnchor extends EG_Anchor {
    static $t: Type;
    d: CT_Marker;
    c: CT_PositiveSize2D;
    b<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_AnchorVisitor$2<TArg, TResult>, b?: TArg): TResult;
}
/**
 * @hidden
 */
export declare class CT_TwoCellAnchor extends EG_Anchor {
    static $t: Type;
    e: ST_EditAs;
    c: CT_Marker;
    d: CT_Marker;
    b<TArg, TResult>($tArg: Type, $tResult: Type, a: IEG_AnchorVisitor$2<TArg, TResult>, b?: TArg): TResult;
}
/**
 * @hidden
 */
export interface IEG_AnchorVisitor$2<TArg, TResult> {
    _visitCT_AbsoluteAnchor$i(a: CT_AbsoluteAnchor, b: TArg): TResult;
    _visitCT_OneCellAnchor$i(a: CT_OneCellAnchor, b: TArg): TResult;
    _visitCT_TwoCellAnchor$i(a: CT_TwoCellAnchor, b: TArg): TResult;
}
/**
 * @hidden
 */
export declare let IEG_AnchorVisitor$2_$type: Type;
