import { IActivityContext, IActivityHandler } from "../../IActivityHandler";
import { ChannelProvider } from "../core/ChannelProvider";
import { MapProvider } from "./MapProvider";
import { JobParameter, DataSource, Webmap, WebmapPrintParameters } from "./runUtils";
import { Lookup } from "../../Collections";
/** Defines inputs for the RunReport activity. */
export interface RunReportInputs {
    url: string;
    featureIds?: any[];
    parameters?: Lookup<any>;
    includeMap?: boolean;
    webmapParameters?: WebmapPrintParameters | WebmapPrintParameters[];
    resultFileName?: string;
    dataSources?: DataSource | DataSource[];
}
/** Defines outputs for the RunReport activity. */
export interface RunReportOutputs {
    href: string;
}
export declare class RunReport implements IActivityHandler {
    static action: string;
    static suite: string;
    execute(inputs: RunReportInputs, context: IActivityContext, channelProviderType: typeof ChannelProvider, mapProviderType: typeof MapProvider): Promise<RunReportOutputs>;
    /**
     * Gets the authentication token, if any, for the supplied portal.
     * This is a separate method because GVH does not use the
     * IdentityManager to store credentials. The GVH host module
     * overrides this method and uses its own technique.
     * @param portalUrl The URL to the portal.
     */
    protected getAuthenticationToken(portalUrl: string): string;
    getWebmap(mapProvider: MapProvider, scale?: number, trivia?: any): Promise<Webmap>;
    getWebmapExtent(mapProvider: MapProvider): Promise<__esri.Extent>;
    getWebmapParameters(mapProviderType: typeof MapProvider, mapName: string, trivia: any): Promise<JobParameter[]>;
    prepareWebmapParameters(mapName: string, webmap: Webmap, scale: number, extent?: __esri.Extent): JobParameter[];
}
