import { HTMLTemplateResult, PropertyValues } from "lit";
import { UrlSourcedFetcher } from "../../services/urlSourcedFetcher/urlSourcedFetcher";
declare const DataSourceComponent_base: import("../../helpers/types/mixins").Component & {
tagName: string;
};
/**
* @description
* Automatically creates a PageFetcher callback that can be used on a
* verification grid component
*
* @slot - A custom result download button to use instead of the default download button.
*
* @csspart file-picker - A css target to style the file picker button
*/
export declare class DataSourceComponent extends DataSourceComponent_base {
static styles: import("lit").CSSResult;
/** A remote JSON or CSV file to use as the data source */
src?: string | File;
/**
* A verification grid component that the derived page fetcher callback will
* be applied to
*/
for: string;
/** Whether to allow for local file inputs through a system UI dialog */
local: boolean;
/** Randomly sample rows from a local or remote data source */
random: boolean;
/**
* Toggles the viability a "Download Results" button in the user interface.
* Note if allow-downloads is set to "false", results download can still be
* invoked by host applications through the "downloadResults" method.
*/
allowDownloads: boolean;
private canDownload;
private fileName?;
private fileInput;
urlSourcedFetcher?: UrlSourcedFetcher;
private verificationGrid?;
private readonly decisionHandler;
willUpdate(changedProperties: PropertyValues): void;
downloadResults(): Promise;
private resultRows;
private downloadCallbackSourcedResults;
private downloadUrlSourcedResults;
private isUrlSourced;
private handleDecision;
private handleFileChange;
private updateVerificationGrid;
private fileInputTemplate;
downloadResultsTemplate(): HTMLTemplateResult;
render(): import("lit").TemplateResult<1>;
}
declare global {
interface HTMLElementTagNameMap {
"oe-data-source": DataSourceComponent;
}
}
export {};