import { TemplateResult } from "lit";
import "@openremote/or-rules";
import { Store } from "@reduxjs/toolkit";
import { Page, PageProvider } from "@openremote/or-app";
import { AppStateKeyed } from "@openremote/or-app";
import { AttributeRef } from "@openremote/model";
export declare function pageExportProvider(store: Store<AppStateKeyed>): PageProvider<AppStateKeyed>;
export interface OrExportConfig {
    realm: string;
    selectedAttributes: AttributeRef[];
}
export declare class PageExport extends Page<AppStateKeyed> {
    static get styles(): import("lit").CSSResult[];
    tableRowsHtml?: TemplateResult;
    private oldestTimestamp;
    private latestTimestamp;
    private config?;
    private realm;
    private isClearExportBtnDisabled;
    private isExportBtnDisabled;
    private tableRows;
    protected _realmSelector: (state: AppStateKeyed) => string;
    protected getRealmState: ((state: AppStateKeyed) => Promise<void>) & import("reselect").OutputSelectorFields<(args_0: string) => Promise<void>, {
        clearCache: () => void;
    }> & {
        clearCache: () => void;
    };
    get name(): string;
    constructor(store: Store<AppStateKeyed>);
    protected render(): TemplateResult<1>;
    protected renderTable(attributeRefs: AttributeRef[]): Promise<void>;
    protected renderTableRows(): void;
    protected _deleteAttribute(assetId: any, attributeName: any): void;
    protected _openDialog(): void;
    protected export: () => void;
    protected loadConfig(): Promise<void>;
    protected saveConfig(): Promise<void>;
    protected clearSelection: () => void;
    stateChanged(state: AppStateKeyed): void;
}
