import { ButtonShape, ButtonView } from '@dvn/alaca/components/dvn-button/models';
import { Scale, Tint } from '@dvn/alaca/theme';
import { BaseField } from '@dvn/core/doldurma/src/BaseField';
import { UIAction } from './actions';
import { DataModel } from './data-model';
export interface CardAction {
  name: string;
  label?: string;
  scale?: Scale;
  shape?: ButtonShape;
  tint?: Tint;
  view?: ButtonView;
  iconName?: string;
  buttonType?: 'button' | 'icon-button';
  componentTag?: string;
}
export interface CardConfig {
  header?: {
    title?: {
      fieldId: string;
    };
    cover?: {
      fieldId: string;
      placeholder?: string;
      size?: number;
      aspectRatio?: number;
    };
    image?: {
      fieldId: string;
      placeholderFieldId?: string;
      placeholderType?: any;
      size?: number;
      shape?: any;
      position?: any;
    };
    actions?: UIAction<CardAction>[];
  };
  body?: {
    fields: {
      fieldId: string;
      [key: string]: any;
    }[];
  };
  footer?: {
    actions?: UIAction<CardAction>[];
  };
}
export interface CardItem {
  header: {
    title?: string;
    coverSrc?: string;
    coverPlaceholder?: string;
    coverAspectRatio?: number;
    coverSize?: number;
    imageSrc?: string;
    imageSize?: number;
    imageShape?: any;
    imagePlaceholderValue?: string;
    imagePlaceholderType?: 'source' | 'text';
    imagePosition?: any;
    name?: string;
    actions?: UIAction<CardAction>[];
  };
  body: {
    fields: {
      label: string;
      field: BaseField;
      value: any;
      meta: any;
    }[];
  };
  footer: {
    actions?: UIAction<CardAction>[];
  };
}
export declare function generateCardItem(listConfig: CardConfig, fields: BaseField[], item: DataModel): CardItem;
export declare function generateCardItems(listConfig: CardConfig, fields: BaseField[], items: DataModel[]): CardItem[];
