///
///
import * as angular from 'angular';
import * as Rx from 'rxjs';
import { services } from 'typescript-angular-utilities';
import __object = services.object;
import { IChild, IParentChildBehaviorService } from '../../../services/parentChild/parentChild.service';
import { IAutosaveBehavior } from '../../../behaviors/autosave/autosave.ng1';
import { IDataSourceOld } from '../dataSources/dataSource';
import { IColumn } from '../column';
import { CardContainerController } from '../cardContainer.ng1';
export declare let moduleName: string;
export declare let componentName: string;
export declare let controllerName: string;
export interface ICardBindings {
columns: IColumn[];
item: any;
clickable: boolean;
source: IDataSourceOld;
containerData: any;
cardController: string;
cardControllerAs: string;
cardAs: string;
permanentFooter: boolean;
selectable: boolean;
selectionChanged(): void;
}
export interface ICardScope extends angular.IScope {
collapse(): void;
setSelected(value: boolean): void;
refresh(): void;
remove(): void;
containerData: any;
}
export interface ICardBehavior {
close(): boolean;
}
export interface ICardChildBehavior {
initCard?: {
(): void;
};
validateCard?: {
(): boolean;
};
saveCard?: {
(): angular.IPromise;
};
clickCard?: {
(): void;
};
}
export declare class CardController {
private $scope;
private $q;
private $element;
private parentChild;
columns: IColumn[];
item: any;
clickable: boolean;
source: IDataSourceOld;
containerData: any;
cardController: string;
cardControllerAs: string;
cardAs: string;
permanentFooter: boolean;
selectable: boolean;
selectionChanged: {
(): void;
};
saveWhenInvalid: boolean;
showContent: boolean;
dirty: boolean;
autosaveLink: IChild;
hasBody: boolean;
hasFooter: boolean;
cardContainer: CardContainerController;
refresh: Rx.Subject;
static $inject: string[];
constructor($scope: ICardScope, $controller: angular.IControllerService, $q: angular.IQService, $element: angular.IAugmentedJQuery, parentChild: IParentChildBehaviorService, object: __object.IObjectUtility);
toggleContent(): void;
validateCard(): boolean;
saveCard(): angular.IPromise;
clickCard(): void;
$postLink(): void;
private autosave;
private open();
private setSelected(value);
}