import { ListRenderItem } from 'react-native';
import { EmptyContentProps, EmptyProps } from '../Empty';
type GalleryProps<T> = {
    data: T[];
    isLoading?: boolean;
    renderEmpty?: () => React.ReactElement;
    renderItem: ListRenderItem<T>;
    keyExtractor?: (item: T, index: number) => string;
    testID?: string;
};
export declare function Gallery<T>({ data, renderItem, keyExtractor, isLoading, renderEmpty, testID, }: GalleryProps<T>): import("react/jsx-runtime").JSX.Element;
export declare namespace Gallery {
    var Item: typeof GalleryItem;
    var Skeleton: typeof GallerySkeleton;
    var Empty: typeof GalleryEmpty;
    var Separator: typeof RowSeparator;
}
type GalleryItemProps = {
    uri: string;
    timestamp?: number;
    onPress: () => void;
};
declare function GalleryItem({ uri, timestamp, onPress }: GalleryItemProps): import("react/jsx-runtime").JSX.Element;
declare function GallerySkeleton(): import("react/jsx-runtime").JSX.Element;
declare function RowSeparator(): import("react/jsx-runtime").JSX.Element;
type GalleryEmptyProps = EmptyContentProps & Pick<EmptyProps, 'heightPercent'>;
declare function GalleryEmpty({ heightPercent, ...props }: GalleryEmptyProps): import("react/jsx-runtime").JSX.Element;
export {};
//# sourceMappingURL=Gallery.d.ts.map