/** * コンフィグ */ interface Config { gap: string; srcAttribute: string; margin?: string; imgClass?: string; aClass?: string; aAttribute?: { [key: string]: string; }; overflowLabel?: (remaining: number) => string; } /** * 画像情報 */ interface Photo { src: string; href: string; width: string; height: string; alt: string; } declare class PhotoCollage { selector: string; settings: Partial; data: Config; elements: NodeListOf; constructor(selector: string, settings: Partial); /** *深さ優先探査で画像情報取得 * @param element * @param photos */ getSrc(element: Element, photos: Photo[]): void; /** *新たな階層を生成 * @param element * @param photos */ placePhoto(element: HTMLDivElement, photos: Photo[]): void; } export default PhotoCollage;