import { EmptyInputs, IActivityContext, IActivityHandler } from "../../IActivityHandler";
export interface Claim {
    /** Indicates the intermediate issuer of the claim. */
    issuer: string;
    /** Indicates the original issuer of the claim. */
    originalIssuer: string;
    /** Indicates the type of the claim.*/
    type: string;
    /** Indicates the value of the claim. */
    value: string;
    /** Indicates the type of the value. */
    valueType: string;
}
export interface DataLink {
    /** The display name. */
    displayName: string;
    /** The ID of the DataLink */
    id: string;
    /** Indicates whether the data fetched by the datalink represents a one to one relationship with the feature. */
    isOneToOne: boolean;
    /** The properties of the DataLink, defined by the administrator on the server. */
    properties: any;
    /** The visibility of the DataLink. */
    visible: boolean;
}
export interface Field {
    /** The field alias.*/
    alias: string;
    /** The type of data the field contains. */
    dataType: string;
    /** The display name of the field. */
    displayName: string;
    /** Whether the field is presented as editable in the user interface. */
    editable: boolean;
    /** The name of the field. */
    name: string;
    /** Whether the field will be searched as part of the layer search. */
    searchable: boolean;
    /** Whether the field is visible in reports. */
    visible: boolean;
}
export interface Identity {
    /** A string representing the type of authentication used. */
    authenticationType: string;
    /** Contains the list of claims associated with this identity.*/
    claims: Claim[];
    /** Flag that indicates if the identity was authenticated. */
    isAuthenticated: boolean;
    /** Indicates the label (friendly name) of this identity. */
    label: string;
    /** Indicates which claim type is the name. */
    nameClaimType: string;
    /** Indicates which claim type is the role. */
    roleClaimType: string;
}
export interface Layer {
    /** Gets the collection of DataLink objects that belongs to the Layer. */
    dataLinks: DataLink[];
    /** The display name of the Layer. */
    displayName: string;
    /** The format for a description of a feature from this layer. */
    featureDescription: string;
    /** The format for a label of a feature. */
    featureLabel: string;
    /** The format for a long description of a feature. */
    featureLongDescription: string;
    /** Shape type of the layer. One of: None | Point | Multipoint | Polygon | Line */
    featureType: string;
    /** Array of fields associated with this layer. */
    fields: Field[];
    /** The full extent of the layer. */
    fullExtent: __esri.Extent;
    /** Whether the Layer has attachments associated with it. */
    hasAttachments: boolean;
    /** The ID of the Layer. */
    id: string;
    /** Whether or not this layer can be identified in the client application. */
    identifiable: boolean;
    /** Indicates whether or not a layer was created by a user at runtime **/
    isUserCreated: boolean;
    /** The name of the Layer. */
    name: string;
    /** Gets the ID of the parent Layer. */
    parentLayerId: string;
    /** The properties of the Layer as defined by the administrator on the server. */
    properties: any;
    /** A flag indicating whether the layer is queryable or not. */
    queryable: boolean;
    /** The collection of Report objects that belongs to the Layer. */
    reports: Report[];
    /**  Indicates if the layer is searchable. */
    searchable: boolean;
    /** Gets the IDs of all Layer objects that are sub-layers (children) of this Layer. The value is only set when the layer is a group layer. */
    subLayerIds: string[];
    /** The type of the layer, such as feature layer, raster layer, group layer, etc. */
    type: number;
}
export interface Map {
    /** The full extent of the Map. */
    fullExtent: __esri.Extent;
    /** The initial extent of the Map. */
    initialExtent: __esri.Extent;
    /** The collection of MapService objects. */
    mapServices: MapService[];
}
export interface MapService {
    /** Description of the map service.  */
    description: string;
    /** The display name of the MapService. */
    displayName: string;
    /** The ID of the MapService. */
    id: string;
    /** Boolean indicating whether this map service is time aware or not */
    isTimeAware: boolean;
    /** Indicates whether or not a mapService was created by a user at runtime **/
    isUserCreated: boolean;
    /** The collection of Layer objects. */
    layers: Layer[];
    /**  The properties of the MapService, as defined by the administrator on the server. */
    properties: any;
    /** The Esri map service Layer object. */
    serviceLayer: __esri.Layer;
    /** A unique identifier for the service. */
    serviceTag: string;
    /** The security token that must be provided when requesting the service from ArcGIS Server. */
    serviceToken: string;
    /** The URL of the map service published by ArcGIS Server. */
    serviceUrl: string;
    /** The collection of table objects. */
    tables: Layer[];
}
export interface NamedExtent {
    /** The display name of the NamedExtent. */
    displayName: string;
    /** The extent of the NamedExtent. */
    extent: __esri.Extent;
    /** The ID of the NamedExtent.*/
    id: string;
    /** The properties of the NamedExtent, as defined by an administrator. */
    properties: any;
}
export interface Principal {
    /** Indicates the expiration time of the principal. */
    expiry?: string;
    /** Collection of identities that represents the current user. */
    identities: Identity[];
    /** Flag that indicates if the user was authenticated or not. */
    isAuthenticated: boolean;
    /** Indicates the label (friendly name) of this principal. */
    label: string;
}
export interface PrintTemplate {
    /** The description of the PrintTemplate. */
    description: string;
    /** The display name of the PrintTemplate. */
    displayName: string;
    /** The ID of the PrintTemplate. */
    id: string;
    /** The properties of the PrintTemplate, defined by the administrator on the server. */
    properties: any;
    /** The visibility of the PrintTemplate.*/
    visible: boolean;
}
export interface Report {
    /** The description of the Report. */
    description: string;
    /** The display name of the Report. */
    displayName: string;
    /** The ID of the Report.*/
    id: string;
    /** The properties of the Report, defined by the administrator on the server. */
    properties: any;
    /** The visibility of the Report. */
    visible: boolean;
}
export interface SearchTable {
    /** The display name of the SearchTable. */
    displayName: string;
    /** The ID of the SearchTable.*/
    id: string;
}
export interface Site {
    /** The current version of Geocortex Essentials serving the Site. */
    currentVersion: string;
    /** The ID of the Site. */
    id: string;
    /** The display name of the Site. */
    displayName: string;
    /** The Essentials Map defined in the Site. */
    essentialsMap: Map;
    /** Collection of NamedExtent objects associated with the Site. */
    namedExtents: NamedExtent[];
    /** Information about the connected user. */
    principal: Principal;
    /** Collection of PrintTemplate objects associated with the Site. */
    printTemplates: PrintTemplate[];
    /** The properties of the Site, as defined by the administrator on the server.*/
    properties: any;
    /** Collection of SearchTable objects associated with the Site.*/
    searchTables: SearchTable[];
    /** The URL to the Geocortex Essentials Site's REST endpoint. */
    url: string;
    /** Collection of Workflow objects associated with the Site. */
    workflows: Workflow[];
}
export interface Workflow {
    /** The display name of the Workflow.  */
    displayName: string;
    /** The ID of the Workflow. */
    id: string;
    /** The properties of the Workflow, as defined by an administrator. */
    properties: any;
    /** Whether to run the Workflow on startup of the client application.  */
    runOnStartup: boolean;
}
/** Defines outputs from the GetEssentialsSite activity. */
export interface GetEssentialsSiteOutputs {
    /** The Essentials site. */
    site: Site;
}
export declare class GetEssentialsSite implements IActivityHandler {
    static action: string;
    static suite: string;
    execute(inputs: EmptyInputs, context: IActivityContext): GetEssentialsSiteOutputs;
}
