import { PropertyValueMap, nothing } from 'lit';
import { FilesResultType, FileType } from '../types/files.types';
import { FileVersionSelectEventType } from '../types/files.events';
import { InfiniteData, InfiniteQueryObserverResult, QueryObserverResult } from '@tanstack/query-core';
import { UserType } from '../types/users.types';
import { Ref } from 'lit/directives/ref.js';
import { SwipeScrollController } from '../controllers/swipe-scroll-controller';
import { WeavySubComponent } from '../classes/weavy-sub-component';
import { ShadowPartsController } from '../controllers/shadow-parts-controller';
/**
 * Preview component.
 * Consumes WeavyComponent contexts.
 *
 * @fires wy-preview-open {WyPreviewOpenEventType} - Fired when a preview overlay is about to open.
 * @fires wy-preview-close {WyPreviewCloseEventType} - Fired when a preview overlay is closed.
 */
export default class WyPreview extends WeavySubComponent {
    static styles: import('lit').CSSResult[];
    protected exportParts: ShadowPartsController;
    files?: FileType[];
    queryResult?: QueryObserverResult<FileType[]>;
    infiniteQueryResult?: InfiniteQueryObserverResult<InfiniteData<FilesResultType, unknown>>;
    user: UserType | undefined;
    currentId: number;
    isAttachment: boolean;
    filled: boolean;
    currentFile?: FileType;
    previousFile?: FileType;
    nextFile?: FileType;
    showOverlay: boolean;
    commentsOpen: boolean;
    versionsOpen: boolean;
    versionFile?: FileType;
    sidePanelMaximized: boolean;
    private persistState;
    previewFileRef: Ref<Element>;
    swipeScrollRef: Ref<Element>;
    prevRef: Ref<Element>;
    nextRef: Ref<Element>;
    swipeScroller: SwipeScrollController;
    private disableSwipeScroll;
    private disableSwipeScrollTimeout?;
    dispatchOpen(): Promise<void>;
    dispatchClose(): void;
    open(fileId: number, showTab?: "comments" | "versions"): Promise<void>;
    close(): void;
    toggleSidebarTab(tab?: "comments" | "versions", state?: boolean): void;
    handleVersionFile(e: FileVersionSelectEventType): void;
    handleKeys: (e: KeyboardEvent) => void;
    scrollToPrev(): void;
    scrollToNext(): void;
    blockSwipeScroll(duration?: number): void;
    unblockSwipeScroll(): void;
    setPrev(): void;
    setNext(): void;
    willUpdate(changedProperties: PropertyValueMap<this>): Promise<void>;
    renderHeader(activeFile?: FileType): import('../../node_modules/lit-html/node/lit-html.js').TemplateResult<1>;
    render(): import('../../node_modules/lit-html/node/lit-html.js').TemplateResult<1> | typeof nothing;
    updated(): void;
}
//# sourceMappingURL=wy-preview.d.ts.map