import { EventEmitter } from '../../stencil-public-runtime';
import { AxiosError } from 'axios';
import { CropperOptions } from '../x-cropper/component';
export type MediaElement = {
    uuid: string;
    url: string;
    type?: string;
    loading?: boolean;
    prompt?: string;
};
export declare class XGallery {
    /**
     * Modal instance element
     */
    private modal;
    /**
     * Generator input element
     */
    private promptInput;
    /**
     * Input image connected to cropper
     */
    private inputImage;
    /**
     * Element append headers
     */
    appendHeaders: {
        [key: string]: string;
    };
    /**
     * Server-side proccesing route
     */
    endpoint: string;
    /**
     * Loading state
     */
    loading: boolean;
    /**
     * Error message
     */
    errorMessage?: string;
    /**
     * Selected gallery item
     */
    selectedMedia?: MediaElement;
    /**
     * Gallery collection
     */
    galleryCollection: Array<MediaElement>;
    /**
     * Gallery current page
     */
    galleryPage: number;
    /**
     * Gallery total results
     */
    galleryResultsCount: number;
    /**
     * Gallery has more flag
     */
    galleryHasMore: boolean;
    /**
     * Gallery upload percent progress
     */
    galleryUploadProgress?: number;
    /**
     * IA Generated request results collection
     */
    generatedCollection: Array<MediaElement>;
    /**
     * On finish selected media event
     */
    onSelected: EventEmitter<MediaElement>;
    /**
     * On cancel event
     */
    onCanceled: EventEmitter;
    /**
     * Call the gallery window
     */
    load(cropperOptions?: CropperOptions): Promise<void>;
    /**
     * Add initial values to components
     */
    resetData(): void;
    /**
     * Axios response error capture
     */
    catchRequestFail(err: AxiosError): string;
    /**
     * Get element by UUID
     */
    getIndexCollectionByUUID(collection: Array<MediaElement>, uuid: string): number;
    /**
     * Loading all images saved for actual user
     */
    loadGalleryAssets(page?: number): void;
    /**
     * Loading last generated images for actual user
     */
    loadGeneratedAssets(): void;
    /**
     * Select the element ready for choose
     */
    onSelectMedia(media: MediaElement): void;
    /**
     * Upload image and return file
     */
    onUploadImage(e: CustomEvent<File>): void;
    /**
     * Delete image and return confirmation
     */
    onDeleteImage(uuid: string): void;
    /**
     * Send IA prompt and return image result
     */
    onPromptImage(prompt: string): void;
    /**
     * On window finish selection of media element
     */
    onFinishSelectMedia(media?: MediaElement): void;
    /**
     * Render the component
     */
    render(): any;
}
