/**
 * Copyright Aquera Inc 2025
 *
 * This source code is licensed under the BSD-3-Clause license found in the
 * LICENSE file in the root directory of this source tree.
 */
import NileElement from '../internal/nile-element';
import { FilePreviewState, FilePreviewVariant } from './types';
import { CSSResultArray, TemplateResult, PropertyValues } from 'lit';
/**
 * Nile preview component.
 *
 * @tag nile-preview
 *
 */
export declare class NileFilePreview extends NileElement {
    /**
     * The styles for nile-preview
     * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
     */
    static get styles(): CSSResultArray;
    errorMessage: string;
    inputFile: File;
    fileUrl: string;
    uploadStatus: number;
    state: FilePreviewState;
    variant: FilePreviewVariant;
    inputFileName: string;
    showFileType: boolean;
    private inputFileHtml;
    private originalUrl;
    isStringTruncated: boolean;
    /**
     * Render method
     * @slot This is a slot test
     */
    connectedCallback(): void;
    protected firstUpdated(_changedProperties: PropertyValues): void;
    protected updated(changedProperties: PropertyValues): void;
    private createUploadState;
    private handleFileUrl;
    createState(file: File): Promise<void>;
    render(): TemplateResult;
    disconnectedCallback(): void;
}
export default NileFilePreview;
declare global {
    interface HTMLElementTagNameMap {
        'nile-file-preview': NileFilePreview;
    }
}
