import * as i0 from '@angular/core';
import { OnInit, TemplateRef, EventEmitter, Signal } from '@angular/core';
import * as i1 from '@daffodil/design';
import { DaffSkeletonableDirective } from '@daffodil/design';
import * as i1$1 from '@angular/common';
interface DaffMediaGalleryRegistration {
id: string;
}
/**
* DaffThumbnailDirective is a structural directive used to mark elements as thumbnails within the `DaffMediaGalleryComponent`.
*
* ```html
*
* ```
*/
declare class DaffThumbnailDirective implements OnInit {
/**
* @docs-private
*/
gallery: DaffMediaGalleryRegistration;
/**
* @docs-private
*/
templateRef: TemplateRef;
private _increment;
/**
* @docs-private
*
* The autogenerated unique id for a thumbnail.
*/
get id(): string;
/**
* @docs-private
*
* The unique id of the selected thumbnail.
*/
get selectedThumbnailId(): string;
/**
* The file path to a thumbnail, presumably an image.
*/
thumbnailSrc: any;
/**
* Provides an accessible label for a thumbnail.
*/
label: string;
/** Indicates whether the thumbnail represents a video. */
isVideo: boolean;
constructor(
/**
* @docs-private
*/
gallery: DaffMediaGalleryRegistration,
/**
* @docs-private
*/
templateRef: TemplateRef);
/**
* @docs-private
*/
ngOnInit(): void;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵdir: i0.ɵɵDirectiveDeclaration;
}
/**
* The `DaffMediaGalleryComonent` is used to display a group of thumbnails in a gallery format.
*
* ```html
*
*
*
*
*
* ```
*/
declare class DaffMediaGalleryComponent implements DaffMediaGalleryRegistration {
private skeletonDirective;
/**
* The internal ID of the gallery.
*/
private _id;
/**
* Custom ID for the media gallery that overrides the auto-generated one. When using this input, it is your responsibility to ensure that the ID is unique.
*/
get id(): string | undefined | null;
set id(val: string | undefined | null);
/**
* An event indicating that the selected media gallery element has changed.
*/
elementChange: EventEmitter;
/**
* @docs-private
*/
_thumbnails: Signal;
/**
* @docs-private
*/
private _thumbnailButtons;
/**
* @docs-private
*/
constructor(skeletonDirective: DaffSkeletonableDirective);
/**
* @docs-private
*
* Whether or not the component its currently displaying its skeleton state.
*/
get skeleton(): boolean;
/**
* @docs-private
*/
_selectedThumbnail: Signal;
private _selectedIndex;
private focusSelected;
/**
* Select a specific entry in the media gallery by its index.
*
* @param index The index to set, starting at 0.
*/
selectIndex(index: number): void;
/**
* Navigate to the next element in the list of thumbnails.
*
* @param focus Whether to move focus to the newly selected item.
*/
next(focus?: boolean): void;
/**
* Navigate to the previous element in the list of thumbnails.
*
* @param focus Whether to move focus to the newly selected item.
*/
previous(focus?: boolean): void;
/**
* Select the first element.
*
* @param focus Whether to move focus to the newly selected item.
*/
selectFirst(focus?: boolean): void;
/**
* Select the last element of the gallery.
*
* @param Whether to move focus to the newly selected item.
*/
selectLast(focus?: boolean): void;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}
/**
* @deprecated in favor of {@link DAFF_MEDIA_GALLERY_COMPONENTS}. Deprecated in version 0.78.0. Will be removed in version 1.0.0.
*/
declare class DaffMediaGalleryModule {
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵmod: i0.ɵɵNgModuleDeclaration;
static ɵinj: i0.ɵɵInjectorDeclaration;
}
/**
* @docs-private
*/
declare const DAFF_MEDIA_GALLERY_COMPONENTS: readonly [typeof DaffMediaGalleryComponent, typeof DaffThumbnailDirective];
export { DAFF_MEDIA_GALLERY_COMPONENTS, DaffMediaGalleryComponent, DaffMediaGalleryModule, DaffThumbnailDirective };