export interface AntennaDownlinkConfig {
    /** Object that describes a spectral Config. */
    spectrumConfig: any;
}
export interface TrackingConfig {
    /** Current setting for autotrack. */
    autotrack: 'REQUIRED' | 'PREFERRED' | 'REMOVED';
}
export interface DataflowEndpointConfig {
    /** Name of a dataflow endpoint. */
    dataflowEndpointName: string;
    /** Region of a dataflow endpoint. */
    dataflowEndpointRegion?: string;
}
export interface AntennaDownlinkDemodDecodeConfig {
    /** Information about the spectral Config. */
    spectrumConfig: any;
    /** Information about the demodulation Config. */
    demodulationConfig: any;
    /** Information about the decode Config. */
    decodeConfig: any;
}
export interface AntennaUplinkConfig {
    /** Whether or not uplink transmit is disabled. */
    transmitDisabled?: boolean;
    /** Information about the uplink spectral Config. */
    spectrumConfig: any;
    /** EIRP of the target. */
    targetEirp: any;
}
export interface UplinkEchoConfig {
    /** Whether or not an uplink Config is enabled. */
    enabled: boolean;
    /** ARN of an uplink Config. */
    antennaUplinkConfigArn: string;
}
export interface S3RecordingConfig {
    /** ARN of the bucket to record to. */
    bucketArn: string;
    /** ARN of the role Ground Station assumes to write data to the bucket. */
    roleArn: string;
    /** S3 Key prefix to prefice data files. */
    prefix?: string;
}
export interface TelemetrySinkConfig {
    /** The type of telemetry sink. */
    telemetrySinkType: 'KINESIS_DATA_STREAM';
    /** Information about the telemetry sink specified by the telemetrySinkType. */
    telemetrySinkData: any;
}
export interface EndpointDetails {
    /** Endpoint security details including a list of subnets, a list of security groups and a role to connect streams to instances. */
    securityDetails?: any;
    /** A dataflow endpoint. */
    endpoint?: any;
    /** An agent endpoint. */
    awsGroundStationAgentEndpoint?: any;
    /** Definition for an uplink agent endpoint */
    uplinkAwsGroundStationAgentEndpoint?: any;
    /** Definition for a downlink agent endpoint */
    downlinkAwsGroundStationAgentEndpoint?: any;
    /** A dataflow endpoint health status. This field is ignored when calling CreateDataflowEndpointGroup. */
    healthStatus?: 'HEALTHY' | 'UNHEALTHY';
    /** Health reasons for a dataflow endpoint. This field is ignored when calling CreateDataflowEndpointGroup. */
    healthReasons?: any[];
}
export interface TLEEphemeris {
    /** The Amazon S3 object that contains the ephemeris data. */
    s3Object?: any;
    /** TLE data that you provide directly instead of using an Amazon S3 object. */
    tleData?: any[];
}
export interface OEMEphemeris {
    /** The Amazon S3 object that contains the ephemeris data. */
    s3Object?: any;
    /** OEM data that you provide directly instead of using an Amazon S3 object. */
    oemData?: string;
}
export interface AzElEphemeris {
    /** The ground station name for which you're providing azimuth elevation data. This ephemeris is specific to this ground station and can't be used at other locations. */
    groundStation: string;
    /** Azimuth elevation segment data. You can provide data inline in the request or through an Amazon S3 object reference. */
    data: any;
}
export interface AzElEphemerisFilter {
    /** Unique identifier of the azimuth elevation ephemeris. */
    id: string;
}
export interface DiscoveryData {
    /** List of public IP addresses to associate with agent. */
    publicIpAddresses: string[];
    /** List of private IP addresses to associate with agent. */
    privateIpAddresses: string[];
    /** List of capabilities to associate with agent. */
    capabilityArns: string[];
}
export interface AgentDetails {
    /** Current agent version. */
    agentVersion: string;
    /** ID of EC2 instance agent is running on. */
    instanceId: string;
    /** Type of EC2 instance agent is running on. */
    instanceType: string;
    /** This field should not be used. Use agentCpuCores instead. List of CPU cores reserved for processes other than the agent running on the EC2 instance. */
    reservedCpuCores?: number[];
    /** List of CPU cores reserved for the agent. */
    agentCpuCores?: number[];
    /** List of versions being used by agent components. */
    componentVersions: any[];
}
export interface TrackingOverrides {
    /** Program track settings to override for antenna tracking during the contact. */
    programTrackSettings: {
        azEl?: any;
    };
}
export interface AggregateStatus {
    /** Aggregate status. */
    status: 'SUCCESS' | 'FAILED' | 'ACTIVE' | 'INACTIVE';
    /** Sparse map of failure signatures. */
    signatureMap?: Record<string, boolean>;
}
export interface ComponentStatusData {
    /** The Component type. */
    componentType: string;
    /** Capability ARN of the component. */
    capabilityArn: string;
    /** Component status. */
    status: 'SUCCESS' | 'FAILED' | 'ACTIVE' | 'INACTIVE';
    /** Bytes sent by the component. */
    bytesSent?: number;
    /** Bytes received by the component. */
    bytesReceived?: number;
    /** Packets dropped by component. */
    packetsDropped?: number;
    /** Dataflow UUID associated with the component. */
    dataflowId: string;
}
export interface CancelContactInput {
    /** UUID of a contact. */
    contactId: string;
}
export interface CreateConfigInput {
    /** Parameters of a Config. */
    configData: any;
    /** Name of a Config. */
    name: string;
    /** Tags assigned to a Config. */
    tags?: Record<string, string>;
}
export interface CreateDataflowEndpointGroupInput {
    /** Endpoint details of each endpoint in the dataflow endpoint group. All dataflow endpoints within a single dataflow endpoint group must be of the same type. You cannot mix AWS Ground Station Agent endpo */
    endpointDetails: EndpointDetails[];
    /** Amount of time, in seconds, after a contact ends that the Ground Station Dataflow Endpoint Group will be in a POSTPASS state. A Ground Station Dataflow Endpoint Group State Change event will be emitte */
    contactPostPassDurationSeconds?: number;
    /** Amount of time, in seconds, before a contact starts that the Ground Station Dataflow Endpoint Group will be in a PREPASS state. A Ground Station Dataflow Endpoint Group State Change event will be emit */
    contactPrePassDurationSeconds?: number;
    /** Tags of a dataflow endpoint group. */
    tags?: Record<string, string>;
}
export interface CreateDataflowEndpointGroupV2Input {
    /** Dataflow endpoint group's endpoint definitions */
    endpoints: {
        uplinkAwsGroundStationAgentEndpoint?: any;
    } | {
        downlinkAwsGroundStationAgentEndpoint?: any;
    }[];
    /** Amount of time, in seconds, after a contact ends that the Ground Station Dataflow Endpoint Group will be in a POSTPASS state. A Ground Station Dataflow Endpoint Group State Change event will be emitte */
    contactPostPassDurationSeconds?: number;
    /** Amount of time, in seconds, before a contact starts that the Ground Station Dataflow Endpoint Group will be in a PREPASS state. A Ground Station Dataflow Endpoint Group State Change event will be emit */
    contactPrePassDurationSeconds?: number;
    /** Tags of a V2 dataflow endpoint group. */
    tags?: Record<string, string>;
}
export interface CreateEphemerisInput {
    /** A name that you can use to identify the ephemeris. */
    name: string;
    /** Set to true to enable the ephemeris after validation. Set to false to keep it disabled. */
    enabled?: boolean;
    /** Ephemeris data. */
    ephemeris?: {
        tle?: TLEEphemeris;
    } | {
        oem?: OEMEphemeris;
    } | {
        azEl?: AzElEphemeris;
    };
    /** An overall expiration time for the ephemeris in UTC, after which it will become EXPIRED. */
    expirationTime?: string;
    /** The ARN of the KMS key to use for encrypting the ephemeris. */
    kmsKeyArn?: string;
    /** A priority score that determines which ephemeris to use when multiple ephemerides overlap. Higher numbers take precedence. The default is 1. Must be 1 or greater. */
    priority?: number;
    /** The satellite ID that associates this ephemeris with a satellite in AWS Ground Station. */
    satelliteId?: string;
    /** Tags assigned to an ephemeris. */
    tags?: Record<string, string>;
}
export interface CreateMissionProfileInput {
    /** A list of lists of ARNs. Each list of ARNs is an edge, with a from Config and a to Config. */
    dataflowEdges: string[][];
    /** Smallest amount of time in seconds that you’d like to see for an available contact. AWS Ground Station will not present you with contacts shorter than this duration. */
    minimumViableContactDurationSeconds: number;
    /** Name of a mission profile. */
    name: string;
    /** ARN of a tracking Config. */
    trackingConfigArn: string;
    /** Amount of time after a contact ends that you’d like to receive a Ground Station Contact State Change event indicating the pass has finished. */
    contactPostPassDurationSeconds?: number;
    /** Amount of time prior to contact start you’d like to receive a Ground Station Contact State Change event indicating an upcoming pass. */
    contactPrePassDurationSeconds?: number;
    /** KMS key to use for encrypting streams. */
    streamsKmsKey?: {
        kmsKeyArn?: string;
    } | {
        kmsAliasArn?: string;
    } | {
        kmsAliasName?: string;
    };
    /** Role to use for encrypting streams with KMS key. */
    streamsKmsRole?: string;
    /** Tags assigned to a mission profile. */
    tags?: Record<string, string>;
    /** ARN of a telemetry sink Config. */
    telemetrySinkConfigArn?: string;
}
export interface DeleteConfigInput {
    /** UUID of a Config. */
    configId: string;
    /** Type of a Config. */
    configType: 'antenna-downlink' | 'antenna-downlink-demod-decode' | 'tracking' | 'dataflow-endpoint' | 'antenna-uplink' | 'uplink-echo' | 's3-recording' | 'telemetry-sink';
}
export interface DeleteDataflowEndpointGroupInput {
    /** UUID of a dataflow endpoint group. */
    dataflowEndpointGroupId: string;
}
export interface DeleteEphemerisInput {
    /** The AWS Ground Station ephemeris ID. */
    ephemerisId: string;
}
export interface DeleteMissionProfileInput {
    /** UUID of a mission profile. */
    missionProfileId: string;
}
export interface DescribeContactInput {
    /** UUID of a contact. */
    contactId: string;
}
export interface DescribeEphemerisInput {
    /** The AWS Ground Station ephemeris ID. */
    ephemerisId: string;
}
export interface GetAgentConfigurationInput {
    /** UUID of agent to get configuration information for. */
    agentId: string;
}
export interface GetAgentTaskResponseUrlInput {
    /** UUID of agent requesting the response URL. */
    agentId: string;
    /** GUID of the agent task for which the response URL is being requested. */
    taskId: string;
}
export interface GetConfigInput {
    /** UUID of a Config. */
    configId: string;
    /** Type of a Config. */
    configType: 'antenna-downlink' | 'antenna-downlink-demod-decode' | 'tracking' | 'dataflow-endpoint' | 'antenna-uplink' | 'uplink-echo' | 's3-recording' | 'telemetry-sink';
}
export interface GetDataflowEndpointGroupInput {
    /** UUID of a dataflow endpoint group. */
    dataflowEndpointGroupId: string;
}
export interface GetMinuteUsageInput {
    /** The month being requested, with a value of 1-12. */
    month: number;
    /** The year being requested, in the format of YYYY. */
    year: number;
}
export interface GetMissionProfileInput {
    /** UUID of a mission profile. */
    missionProfileId: string;
}
export interface GetSatelliteInput {
    /** UUID of a satellite. */
    satelliteId: string;
}
export interface ListConfigsInput {
    /** Maximum number of Configs returned. */
    maxResults?: number;
    /** Next token returned in the request of a previous ListConfigs call. Used to get the next page of results. */
    nextToken?: string;
}
export interface ListContactsInput {
    /** End time of a contact in UTC. */
    endTime: string;
    /** Start time of a contact in UTC. */
    startTime: string;
    /** Status of a contact reservation. */
    statusList: 'SCHEDULING' | 'FAILED_TO_SCHEDULE' | 'SCHEDULED' | 'CANCELLED' | 'AWS_CANCELLED' | 'PREPASS' | 'PASS' | 'POSTPASS' | 'COMPLETED' | 'FAILED' | 'AVAILABLE' | 'CANCELLING' | 'AWS_FAILED'[];
    /** Filter for selecting contacts that use a specific ephemeris". */
    ephemeris?: {
        azEl?: AzElEphemerisFilter;
    };
    /** Name of a ground station. */
    groundStation?: string;
    /** Maximum number of contacts returned. */
    maxResults?: number;
    /** ARN of a mission profile. */
    missionProfileArn?: string;
    /** Next token returned in the request of a previous ListContacts call. Used to get the next page of results. */
    nextToken?: string;
    /** ARN of a satellite. */
    satelliteArn?: string;
}
export interface ListDataflowEndpointGroupsInput {
    /** Maximum number of dataflow endpoint groups returned. */
    maxResults?: number;
    /** Next token returned in the request of a previous ListDataflowEndpointGroups call. Used to get the next page of results. */
    nextToken?: string;
}
export interface ListEphemeridesInput {
    /** The end time for the list operation in UTC. Returns ephemerides with expiration times within your specified time range. */
    endTime: string;
    /** The start time for the list operation in UTC. Returns ephemerides with expiration times within your specified time range. */
    startTime: string;
    /** Filter ephemerides by type. If not specified, all ephemeris types will be returned. */
    ephemerisType?: 'TLE' | 'OEM' | 'AZ_EL' | 'SERVICE_MANAGED';
    /** Maximum number of ephemerides to return. */
    maxResults?: number;
    /** Pagination token. */
    nextToken?: string;
    /** The AWS Ground Station satellite ID to list ephemeris for. */
    satelliteId?: string;
    /** The list of ephemeris status to return. */
    statusList?: 'VALIDATING' | 'INVALID' | 'ERROR' | 'ENABLED' | 'DISABLED' | 'EXPIRED'[];
}
export interface ListGroundStationsInput {
    /** Maximum number of ground stations returned. */
    maxResults?: number;
    /** Next token that can be supplied in the next call to get the next page of ground stations. */
    nextToken?: string;
    /** Satellite ID to retrieve on-boarded ground stations. */
    satelliteId?: string;
}
export interface ListMissionProfilesInput {
    /** Maximum number of mission profiles returned. */
    maxResults?: number;
    /** Next token returned in the request of a previous ListMissionProfiles call. Used to get the next page of results. */
    nextToken?: string;
}
export interface ListSatellitesInput {
    /** Maximum number of satellites returned. */
    maxResults?: number;
    /** Next token that can be supplied in the next call to get the next page of satellites. */
    nextToken?: string;
}
export interface ListTagsForResourceInput {
    /** ARN of a resource. */
    resourceArn: string;
}
export interface RegisterAgentInput {
    /** Detailed information about the agent being registered. */
    agentDetails: AgentDetails;
    /** Data for associating an agent with the capabilities it is managing. */
    discoveryData: DiscoveryData;
    /** Tags assigned to an Agent. */
    tags?: Record<string, string>;
}
export interface ReserveContactInput {
    /** End time of a contact in UTC. */
    endTime: string;
    /** Name of a ground station. */
    groundStation: string;
    /** ARN of a mission profile. */
    missionProfileArn: string;
    /** Start time of a contact in UTC. */
    startTime: string;
    /** ARN of a satellite */
    satelliteArn?: string;
    /** Tags assigned to a contact. */
    tags?: Record<string, string>;
    /** Tracking configuration overrides for the contact. */
    trackingOverrides?: TrackingOverrides;
}
export interface TagResourceInput {
    /** ARN of a resource tag. */
    resourceArn: string;
    /** Tags assigned to a resource. */
    tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** ARN of a resource. */
    resourceArn: string;
    /** Keys of a resource tag. */
    tagKeys: string[];
}
export interface UpdateAgentStatusInput {
    /** UUID of agent to update. */
    agentId: string;
    /** Aggregate status for agent. */
    aggregateStatus: AggregateStatus;
    /** List of component statuses for agent. */
    componentStatuses: ComponentStatusData[];
    /** GUID of agent task. */
    taskId: string;
}
export interface UpdateConfigInput {
    /** Parameters of a Config. */
    configData: any;
    /** UUID of a Config. */
    configId: string;
    /** Type of a Config. */
    configType: 'antenna-downlink' | 'antenna-downlink-demod-decode' | 'tracking' | 'dataflow-endpoint' | 'antenna-uplink' | 'uplink-echo' | 's3-recording' | 'telemetry-sink';
    /** Name of a Config. */
    name: string;
}
export interface UpdateEphemerisInput {
    /** Enable or disable the ephemeris. Changing this value doesn't require re-validation. */
    enabled: boolean;
    /** The AWS Ground Station ephemeris ID. */
    ephemerisId: string;
    /** A name that you can use to identify the ephemeris. */
    name?: string;
    /** A priority score that determines which ephemeris to use when multiple ephemerides overlap. Higher numbers take precedence. The default is 1. Must be 1 or greater. */
    priority?: number;
}
export interface UpdateMissionProfileInput {
    /** UUID of a mission profile. */
    missionProfileId: string;
    /** Amount of time after a contact ends that you’d like to receive a Ground Station Contact State Change event indicating the pass has finished. */
    contactPostPassDurationSeconds?: number;
    /** Amount of time after a contact ends that you’d like to receive a Ground Station Contact State Change event indicating the pass has finished. */
    contactPrePassDurationSeconds?: number;
    /** A list of lists of ARNs. Each list of ARNs is an edge, with a from Config and a to Config. */
    dataflowEdges?: string[][];
    /** Smallest amount of time in seconds that you’d like to see for an available contact. AWS Ground Station will not present you with contacts shorter than this duration. */
    minimumViableContactDurationSeconds?: number;
    /** Name of a mission profile. */
    name?: string;
    /** KMS key to use for encrypting streams. */
    streamsKmsKey?: {
        kmsKeyArn?: string;
    } | {
        kmsAliasArn?: string;
    } | {
        kmsAliasName?: string;
    };
    /** Role to use for encrypting streams with KMS key. */
    streamsKmsRole?: string;
    /** ARN of a telemetry sink Config. */
    telemetrySinkConfigArn?: string;
    /** ARN of a tracking Config. */
    trackingConfigArn?: string;
}
/** GroundStation service binding for Step Functions SDK integrations. */
export declare class GroundStation {
    constructor();
    cancelContact<T>(params: CancelContactInput): Promise<T>;
    createConfig<T>(params: CreateConfigInput): Promise<T>;
    createDataflowEndpointGroup<T>(params: CreateDataflowEndpointGroupInput): Promise<T>;
    createDataflowEndpointGroupV2<T>(params: CreateDataflowEndpointGroupV2Input): Promise<T>;
    createEphemeris<T>(params: CreateEphemerisInput): Promise<T>;
    createMissionProfile<T>(params: CreateMissionProfileInput): Promise<T>;
    deleteConfig<T>(params: DeleteConfigInput): Promise<T>;
    deleteDataflowEndpointGroup<T>(params: DeleteDataflowEndpointGroupInput): Promise<T>;
    deleteEphemeris<T>(params: DeleteEphemerisInput): Promise<T>;
    deleteMissionProfile<T>(params: DeleteMissionProfileInput): Promise<T>;
    describeContact<T>(params: DescribeContactInput): Promise<T>;
    describeEphemeris<T>(params: DescribeEphemerisInput): Promise<T>;
    getAgentConfiguration<T>(params: GetAgentConfigurationInput): Promise<T>;
    getAgentTaskResponseUrl<T>(params: GetAgentTaskResponseUrlInput): Promise<T>;
    getConfig<T>(params: GetConfigInput): Promise<T>;
    getDataflowEndpointGroup<T>(params: GetDataflowEndpointGroupInput): Promise<T>;
    getMinuteUsage<T>(params: GetMinuteUsageInput): Promise<T>;
    getMissionProfile<T>(params: GetMissionProfileInput): Promise<T>;
    getSatellite<T>(params: GetSatelliteInput): Promise<T>;
    listConfigs<T>(params: ListConfigsInput): Promise<T>;
    listContacts<T>(params: ListContactsInput): Promise<T>;
    listDataflowEndpointGroups<T>(params: ListDataflowEndpointGroupsInput): Promise<T>;
    listEphemerides<T>(params: ListEphemeridesInput): Promise<T>;
    listGroundStations<T>(params: ListGroundStationsInput): Promise<T>;
    listMissionProfiles<T>(params: ListMissionProfilesInput): Promise<T>;
    listSatellites<T>(params: ListSatellitesInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    registerAgent<T>(params: RegisterAgentInput): Promise<T>;
    reserveContact<T>(params: ReserveContactInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateAgentStatus<T>(params: UpdateAgentStatusInput): Promise<T>;
    updateConfig<T>(params: UpdateConfigInput): Promise<T>;
    updateEphemeris<T>(params: UpdateEphemerisInput): Promise<T>;
    updateMissionProfile<T>(params: UpdateMissionProfileInput): Promise<T>;
}
//# sourceMappingURL=GroundStation.d.ts.map