import { SmzFlipCardChanges, SmzFlipCardStatus } from '../../../modules/smz-cards/models/contexts/smz-flip-card-context';
import { FlipCardTemplate, SmzFlipCardSide } from '../../../modules/smz-cards/models/smz-cards-templates';
import { SmzBuilderUtilities } from '../../common/smz-builder-utilities';
import { SmzCardsComponentBuilder, SmzCardsImageBuilder } from '../column-builder';
import { SmzCardsTemplateBuilder } from '../template-builder';
export declare class SmzCardsFlipCardBuilder<TData, TBuilder> extends SmzBuilderUtilities<SmzCardsFlipCardBuilder<TData, TBuilder>> {
    protected _builder: TBuilder;
    protected _parent: SmzCardsTemplateBuilder<TData, TBuilder>;
    protected _template: FlipCardTemplate<TData>;
    protected that: this;
    constructor(_builder: TBuilder, _parent: SmzCardsTemplateBuilder<TData, TBuilder>, _template: FlipCardTemplate<TData>);
    onChange(callback: (changes: SmzFlipCardChanges) => void): SmzCardsFlipCardBuilder<TData, TBuilder>;
    applyData(initialData: {
        key: any;
        status: SmzFlipCardStatus;
    }[]): SmzCardsFlipCardBuilder<TData, TBuilder>;
    setKey(propertyPath: string): SmzCardsFlipCardBuilder<TData, TBuilder>;
    useDataModelStatus(propertyPath: string): SmzCardsFlipCardBuilder<TData, TBuilder>;
    useStatusPersistence(): SmzCardsFlipCardBuilder<TData, TBuilder>;
    useDynamicData(callback: (data: any[]) => {
        key: any;
        status: SmzFlipCardStatus;
    }[]): SmzCardsFlipCardBuilder<TData, TBuilder>;
    setFlipCounts(count: number): SmzCardsFlipCardBuilder<TData, TBuilder>;
    setToggleBehavior(count: number): SmzCardsFlipCardBuilder<TData, TBuilder>;
    enableAtLeastOneSelectedBehavior(): SmzCardsFlipCardBuilder<TData, TBuilder>;
    setCardSize(width: string, height: string): SmzCardsFlipCardBuilder<TData, TBuilder>;
    setMenuLocation(card: 'front' | 'back'): SmzCardsFlipCardBuilder<TData, TBuilder>;
    setButtonsLocation(card: 'front' | 'back'): SmzCardsFlipCardBuilder<TData, TBuilder>;
    setCardStyles(cardStyleClass: string): SmzCardsFlipCardBuilder<TData, TBuilder>;
    setContentStyles(contentStyleClass: string): SmzCardsFlipCardBuilder<TData, TBuilder>;
    front(): SmzCardsFlipCardSideBuilder<TData, TBuilder>;
    back(): SmzCardsFlipCardSideBuilder<TData, TBuilder>;
    get template(): SmzCardsTemplateBuilder<TData, TBuilder>;
}
export declare class SmzCardsFlipCardSideBuilder<TData, TBuilder> extends SmzBuilderUtilities<SmzCardsFlipCardSideBuilder<TData, TBuilder>> {
    private _builder;
    private _templateBuilder;
    private _side;
    protected that: this;
    constructor(_builder: TBuilder, _templateBuilder: SmzCardsFlipCardBuilder<TData, TBuilder>, _side: SmzFlipCardSide<TData>);
    image(dataPath: string): SmzCardsImageBuilder<TData, TBuilder, SmzCardsFlipCardSideBuilder<TData, TBuilder>>;
    component(component: any): SmzCardsComponentBuilder<TData, TBuilder, SmzCardsFlipCardSideBuilder<TData, TBuilder>>;
    html(html: string): SmzCardsFlipCardSideBuilder<TData, TBuilder>;
    get front(): SmzCardsFlipCardBuilder<TData, TBuilder>;
    get back(): SmzCardsFlipCardBuilder<TData, TBuilder>;
}
