import { default as React } from 'react';
import { Photo } from 'react-photo-album';
export type ArchbasePhotoAlbumLayout = 'rows' | 'columns' | 'masonry';
export interface ArchbasePhotoAlbumPhoto extends Photo {
    /** Título da foto */
    title?: string;
    /** Descrição da foto */
    description?: string;
    /** ID único (para tracking) */
    id?: string | number;
    /** Badge/tag para exibir */
    badge?: string;
    /** Cor do badge */
    badgeColor?: string;
    /** Se é favorito */
    favorite?: boolean;
    /** Dados extras */
    data?: Record<string, unknown>;
}
export interface ArchbasePhotoAlbumProps {
    /** Array de fotos */
    photos: ArchbasePhotoAlbumPhoto[];
    /** Tipo de layout */
    layout?: ArchbasePhotoAlbumLayout;
    /** Espaçamento entre fotos (px) */
    spacing?: number;
    /** Padding interno (px) */
    padding?: number;
    /** Altura alvo das linhas (layout 'rows') */
    targetRowHeight?: number;
    /** Número de colunas (layout 'columns' ou 'masonry') */
    columns?: number | ((containerWidth: number) => number);
    /** Callback ao clicar em uma foto */
    onClick?: (photo: ArchbasePhotoAlbumPhoto, index: number) => void;
    /** Abre lightbox automaticamente ao clicar */
    withLightbox?: boolean;
    /** Mostra overlay com ações ao hover */
    showOverlay?: boolean;
    /** Mostra badge nas fotos */
    showBadge?: boolean;
    /** Mostra indicador de favorito */
    showFavorite?: boolean;
    /** Callback ao favoritar */
    onFavorite?: (photo: ArchbasePhotoAlbumPhoto, index: number) => void;
    /** Callback ao baixar */
    onDownload?: (photo: ArchbasePhotoAlbumPhoto, index: number) => void;
    /** Border radius das fotos */
    borderRadius?: number;
    /** Classe CSS */
    className?: string;
    /** Estilo */
    style?: React.CSSProperties;
}
export declare function ArchbasePhotoAlbum({ photos, layout, spacing, padding, targetRowHeight, columns, onClick, withLightbox, showOverlay, showBadge, showFavorite, onFavorite, onDownload, borderRadius, className, style, }: ArchbasePhotoAlbumProps): import("react/jsx-runtime").JSX.Element;
export declare namespace ArchbasePhotoAlbum {
    var displayName: string;
}
export default ArchbasePhotoAlbum;
