export interface OTAJobConfig {
    /** The target version of the device software. */
    ImageVersion: string;
    /** Whether to apply the update if it is a major version change. */
    AllowMajorVersionUpdate?: boolean;
}
export interface DeviceJobConfig {
    /** A configuration for an over-the-air (OTA) upgrade. Required for OTA jobs. */
    OTAJobConfig?: OTAJobConfig;
}
export interface JobResourceTags {
    /** The job's type. */
    ResourceType: 'PACKAGE';
    /** The job's tags. */
    Tags: Record<string, any>;
}
export interface PackageVersionInputConfig {
    /** A location in Amazon S3. */
    S3Location: any;
}
export interface PackageImportJobInputConfig {
    /** The package version's input configuration. */
    PackageVersionInputConfig?: PackageVersionInputConfig;
}
export interface PackageVersionOutputConfig {
    /** The output's package name. */
    PackageName: string;
    /** The output's package version. */
    PackageVersion: string;
    /** Indicates that the version is recommended for all users. */
    MarkLatest?: boolean;
}
export interface PackageImportJobOutputConfig {
    /** The package version's output configuration. */
    PackageVersionOutputConfig?: PackageVersionOutputConfig;
}
export interface EthernetPayload {
    /** How the device gets an IP address. */
    ConnectionType: 'STATIC_IP' | 'DHCP';
    /** Network configuration for a static IP connection. */
    StaticIpConnectionInfo?: any;
}
export interface NtpPayload {
    /** NTP servers to use, in order of preference. */
    NtpServers: any[];
}
export interface NetworkPayload {
    /** Settings for Ethernet port 0. */
    Ethernet0?: EthernetPayload;
    /** Settings for Ethernet port 1. */
    Ethernet1?: EthernetPayload;
    /** Network time protocol (NTP) server settings. */
    Ntp?: NtpPayload;
}
export interface NodeSignal {
    /** The camera node's name, from the application manifest. */
    NodeInstanceId: string;
    /** The signal value. */
    Signal: 'PAUSE' | 'RESUME';
}
export interface CreateApplicationInstanceInput {
    /** A device's ID. */
    DefaultRuntimeContextDevice: string;
    /** The application's manifest document. */
    ManifestPayload: {
        PayloadData?: string;
    };
    /** The ID of an application instance to replace with the new instance. */
    ApplicationInstanceIdToReplace?: string;
    /** A description for the application instance. */
    Description?: string;
    /** Setting overrides for the application manifest. */
    ManifestOverridesPayload?: {
        PayloadData?: string;
    };
    /** A name for the application instance. */
    Name?: string;
    /** The ARN of a runtime role for the application instance. */
    RuntimeRoleArn?: string;
    /** Tags for the application instance. */
    Tags?: Record<string, string>;
}
export interface CreateJobForDevicesInput {
    /** ID of target device. */
    DeviceIds: string[];
    /** The type of job to run. */
    JobType: 'OTA' | 'REBOOT';
    /** Configuration settings for a software update job. */
    DeviceJobConfig?: DeviceJobConfig;
}
export interface CreateNodeFromTemplateJobInput {
    /** A name for the node. */
    NodeName: string;
    /** An output package name for the node. */
    OutputPackageName: string;
    /** An output package version for the node. */
    OutputPackageVersion: string;
    /** Template parameters for the node. */
    TemplateParameters: Record<string, string>;
    /** The type of node. */
    TemplateType: 'RTSP_CAMERA_STREAM';
    /** Tags for the job. */
    JobTags?: JobResourceTags[];
    /** A description for the node. */
    NodeDescription?: string;
}
export interface CreatePackageInput {
    /** A name for the package. */
    PackageName: string;
    /** Tags for the package. */
    Tags?: Record<string, string>;
}
export interface CreatePackageImportJobInput {
    /** A client token for the package import job. */
    ClientToken: string;
    /** An input config for the package import job. */
    InputConfig: PackageImportJobInputConfig;
    /** A job type for the package import job. */
    JobType: 'NODE_PACKAGE_VERSION' | 'MARKETPLACE_NODE_PACKAGE_VERSION';
    /** An output config for the package import job. */
    OutputConfig: PackageImportJobOutputConfig;
    /** Tags for the package import job. */
    JobTags?: JobResourceTags[];
}
export interface DeleteDeviceInput {
    /** The device's ID. */
    DeviceId: string;
}
export interface DeletePackageInput {
    /** The package's ID. */
    PackageId: string;
    /** Delete the package even if it has artifacts stored in its access point. Deletes the package's artifacts from Amazon S3. */
    ForceDelete?: boolean;
}
export interface DeregisterPackageVersionInput {
    /** A package ID. */
    PackageId: string;
    /** A package version. */
    PackageVersion: string;
    /** A patch version. */
    PatchVersion: string;
    /** An owner account. */
    OwnerAccount?: string;
    /** If the version was marked latest, the new version to maker as latest. */
    UpdatedLatestPatchVersion?: string;
}
export interface DescribeApplicationInstanceInput {
    /** The application instance's ID. */
    ApplicationInstanceId: string;
}
export interface DescribeApplicationInstanceDetailsInput {
    /** The application instance's ID. */
    ApplicationInstanceId: string;
}
export interface DescribeDeviceInput {
    /** The device's ID. */
    DeviceId: string;
}
export interface DescribeDeviceJobInput {
    /** The job's ID. */
    JobId: string;
}
export interface DescribeNodeInput {
    /** The node's ID. */
    NodeId: string;
    /** The account ID of the node's owner. */
    OwnerAccount?: string;
}
export interface DescribeNodeFromTemplateJobInput {
    /** The job's ID. */
    JobId: string;
}
export interface DescribePackageInput {
    /** The package's ID. */
    PackageId: string;
}
export interface DescribePackageImportJobInput {
    /** The job's ID. */
    JobId: string;
}
export interface DescribePackageVersionInput {
    /** The version's ID. */
    PackageId: string;
    /** The version's version. */
    PackageVersion: string;
    /** The version's owner account. */
    OwnerAccount?: string;
    /** The version's patch version. */
    PatchVersion?: string;
}
export interface ListApplicationInstanceDependenciesInput {
    /** The application instance's ID. */
    ApplicationInstanceId: string;
    /** The maximum number of application instance dependencies to return in one page of results. */
    MaxResults?: number;
    /** Specify the pagination token from a previous request to retrieve the next page of results. */
    NextToken?: string;
}
export interface ListApplicationInstanceNodeInstancesInput {
    /** The node instances' application instance ID. */
    ApplicationInstanceId: string;
    /** The maximum number of node instances to return in one page of results. */
    MaxResults?: number;
    /** Specify the pagination token from a previous request to retrieve the next page of results. */
    NextToken?: string;
}
export interface ListApplicationInstancesInput {
    /** The application instances' device ID. */
    DeviceId?: string;
    /** The maximum number of application instances to return in one page of results. */
    MaxResults?: number;
    /** Specify the pagination token from a previous request to retrieve the next page of results. */
    NextToken?: string;
    /** Only include instances with a specific status. */
    StatusFilter?: 'DEPLOYMENT_SUCCEEDED' | 'DEPLOYMENT_ERROR' | 'REMOVAL_SUCCEEDED' | 'REMOVAL_FAILED' | 'PROCESSING_DEPLOYMENT' | 'PROCESSING_REMOVAL' | 'DEPLOYMENT_FAILED';
}
export interface ListDevicesInput {
    /** Filter based on a device's status. */
    DeviceAggregatedStatusFilter?: 'ERROR' | 'AWAITING_PROVISIONING' | 'PENDING' | 'FAILED' | 'DELETING' | 'ONLINE' | 'OFFLINE' | 'LEASE_EXPIRED' | 'UPDATE_NEEDED' | 'REBOOTING';
    /** The maximum number of devices to return in one page of results. */
    MaxResults?: number;
    /** Filter based on device's name. Prefixes supported. */
    NameFilter?: string;
    /** Specify the pagination token from a previous request to retrieve the next page of results. */
    NextToken?: string;
    /** The target column to be sorted on. Default column sort is CREATED_TIME. */
    SortBy?: 'DEVICE_ID' | 'CREATED_TIME' | 'NAME' | 'DEVICE_AGGREGATED_STATUS';
    /** The sorting order for the returned list. SortOrder is DESCENDING by default based on CREATED_TIME. Otherwise, SortOrder is ASCENDING. */
    SortOrder?: 'ASCENDING' | 'DESCENDING';
}
export interface ListDevicesJobsInput {
    /** Filter results by the job's target device ID. */
    DeviceId?: string;
    /** The maximum number of device jobs to return in one page of results. */
    MaxResults?: number;
    /** Specify the pagination token from a previous request to retrieve the next page of results. */
    NextToken?: string;
}
export interface ListNodeFromTemplateJobsInput {
    /** The maximum number of node from template jobs to return in one page of results. */
    MaxResults?: number;
    /** Specify the pagination token from a previous request to retrieve the next page of results. */
    NextToken?: string;
}
export interface ListNodesInput {
    /** Search for nodes by category. */
    Category?: 'BUSINESS_LOGIC' | 'ML_MODEL' | 'MEDIA_SOURCE' | 'MEDIA_SINK';
    /** The maximum number of nodes to return in one page of results. */
    MaxResults?: number;
    /** Specify the pagination token from a previous request to retrieve the next page of results. */
    NextToken?: string;
    /** Search for nodes by the account ID of the nodes' owner. */
    OwnerAccount?: string;
    /** Search for nodes by name. */
    PackageName?: string;
    /** Search for nodes by version. */
    PackageVersion?: string;
    /** Search for nodes by patch version. */
    PatchVersion?: string;
}
export interface ListPackageImportJobsInput {
    /** The maximum number of package import jobs to return in one page of results. */
    MaxResults?: number;
    /** Specify the pagination token from a previous request to retrieve the next page of results. */
    NextToken?: string;
}
export interface ListPackagesInput {
    /** The maximum number of packages to return in one page of results. */
    MaxResults?: number;
    /** Specify the pagination token from a previous request to retrieve the next page of results. */
    NextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The resource's ARN. */
    ResourceArn: string;
}
export interface ProvisionDeviceInput {
    /** A name for the device. */
    Name: string;
    /** A description for the device. */
    Description?: string;
    /** A networking configuration for the device. */
    NetworkingConfiguration?: NetworkPayload;
    /** Tags for the device. */
    Tags?: Record<string, string>;
}
export interface RegisterPackageVersionInput {
    /** A package ID. */
    PackageId: string;
    /** A package version. */
    PackageVersion: string;
    /** A patch version. */
    PatchVersion: string;
    /** Whether to mark the new version as the latest version. */
    MarkLatest?: boolean;
    /** An owner account. */
    OwnerAccount?: string;
}
export interface RemoveApplicationInstanceInput {
    /** An application instance ID. */
    ApplicationInstanceId: string;
}
export interface SignalApplicationInstanceNodeInstancesInput {
    /** An application instance ID. */
    ApplicationInstanceId: string;
    /** A list of signals. */
    NodeSignals: NodeSignal[];
}
export interface TagResourceInput {
    /** The resource's ARN. */
    ResourceArn: string;
    /** Tags for the resource. */
    Tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** The resource's ARN. */
    ResourceArn: string;
    /** Tag keys to remove. */
    TagKeys: string[];
}
export interface UpdateDeviceMetadataInput {
    /** The device's ID. */
    DeviceId: string;
    /** A description for the device. */
    Description?: string;
}
/** Panorama service binding for Step Functions SDK integrations. */
export declare class Panorama {
    constructor();
    createApplicationInstance<T>(params: CreateApplicationInstanceInput): Promise<T>;
    createJobForDevices<T>(params: CreateJobForDevicesInput): Promise<T>;
    createNodeFromTemplateJob<T>(params: CreateNodeFromTemplateJobInput): Promise<T>;
    createPackage<T>(params: CreatePackageInput): Promise<T>;
    createPackageImportJob<T>(params: CreatePackageImportJobInput): Promise<T>;
    deleteDevice<T>(params: DeleteDeviceInput): Promise<T>;
    deletePackage<T>(params: DeletePackageInput): Promise<T>;
    deregisterPackageVersion<T>(params: DeregisterPackageVersionInput): Promise<T>;
    describeApplicationInstance<T>(params: DescribeApplicationInstanceInput): Promise<T>;
    describeApplicationInstanceDetails<T>(params: DescribeApplicationInstanceDetailsInput): Promise<T>;
    describeDevice<T>(params: DescribeDeviceInput): Promise<T>;
    describeDeviceJob<T>(params: DescribeDeviceJobInput): Promise<T>;
    describeNode<T>(params: DescribeNodeInput): Promise<T>;
    describeNodeFromTemplateJob<T>(params: DescribeNodeFromTemplateJobInput): Promise<T>;
    describePackage<T>(params: DescribePackageInput): Promise<T>;
    describePackageImportJob<T>(params: DescribePackageImportJobInput): Promise<T>;
    describePackageVersion<T>(params: DescribePackageVersionInput): Promise<T>;
    listApplicationInstanceDependencies<T>(params: ListApplicationInstanceDependenciesInput): Promise<T>;
    listApplicationInstanceNodeInstances<T>(params: ListApplicationInstanceNodeInstancesInput): Promise<T>;
    listApplicationInstances<T>(params: ListApplicationInstancesInput): Promise<T>;
    listDevices<T>(params: ListDevicesInput): Promise<T>;
    listDevicesJobs<T>(params: ListDevicesJobsInput): Promise<T>;
    listNodeFromTemplateJobs<T>(params: ListNodeFromTemplateJobsInput): Promise<T>;
    listNodes<T>(params: ListNodesInput): Promise<T>;
    listPackageImportJobs<T>(params: ListPackageImportJobsInput): Promise<T>;
    listPackages<T>(params: ListPackagesInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    provisionDevice<T>(params: ProvisionDeviceInput): Promise<T>;
    registerPackageVersion<T>(params: RegisterPackageVersionInput): Promise<T>;
    removeApplicationInstance<T>(params: RemoveApplicationInstanceInput): Promise<T>;
    signalApplicationInstanceNodeInstances<T>(params: SignalApplicationInstanceNodeInstancesInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateDeviceMetadata<T>(params: UpdateDeviceMetadataInput): Promise<T>;
}
//# sourceMappingURL=Panorama.d.ts.map