interface MediaItem {
    id: string;
    src: string;
    alt: string;
    caption?: string;
    thumbnail?: string;
    width?: number;
    height?: number;
    type?: 'image' | 'video';
    metadata?: Record<string, any>;
}
interface Props {
    items: MediaItem[];
    columns?: number;
    gap?: string;
    aspectRatio?: string;
    showCaptions?: boolean;
    showThumbnails?: boolean;
    enableLightbox?: boolean;
    enableKeyboardNavigation?: boolean;
    enableInfiniteScroll?: boolean;
    loadingStrategy?: 'eager' | 'lazy' | 'progressive';
    thumbnailSize?: 'sm' | 'md' | 'lg';
    layout?: 'grid' | 'masonry' | 'carousel';
    selectable?: boolean;
    selectedItems?: string[];
    maxSelections?: number;
    sortable?: boolean;
    filterable?: boolean;
    searchable?: boolean;
    class?: string;
}
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
    new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
        $$bindings?: Bindings;
    } & Exports;
    (internal: unknown, props: Props & {
        $$events?: Events;
        $$slots?: Slots;
    }): Exports & {
        $set?: any;
        $on?: any;
    };
    z_$$bindings?: Bindings;
}
declare const MediaGallery: $$__sveltets_2_IsomorphicComponent<Props, {
    select: CustomEvent<{
        item: MediaItem;
        selected: boolean;
    }>;
    open: CustomEvent<{
        item: MediaItem;
        index: number;
    }>;
    close: CustomEvent<{
        item: MediaItem;
        index: number;
    }>;
    load: CustomEvent<{
        items: MediaItem[];
    }>;
    search: CustomEvent<{
        query: string;
    }>;
    filter: CustomEvent<{
        type: string;
    }>;
    sort: CustomEvent<{
        by: string;
        direction: string;
    }>;
} & {
    [evt: string]: CustomEvent<any>;
}, {}, {}, "selectedItems">;
type MediaGallery = InstanceType<typeof MediaGallery>;
export default MediaGallery;
//# sourceMappingURL=MediaGallery.svelte.d.ts.map