export interface LocationConfiguration {
    /** A location's name. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions, quotas, and limitations in the Amazon GameLift Streams Developer Gu */
    LocationName: string;
    /** This setting, if non-zero, indicates minimum streaming capacity which is allocated to you and is never released back to the service. You pay for this base level of capacity at all times, whether used  */
    AlwaysOnCapacity?: number;
    /** This field is deprecated. Use MaximumCapacity instead. This parameter cannot be used with MaximumCapacity or TargetIdleCapacity in the same location configuration. The streaming capacity that Amazon G */
    OnDemandCapacity?: number;
    /** This indicates idle capacity which the service pre-allocates and holds for you in anticipation of future activity. This helps to insulate your users from capacity-allocation delays. You pay for capaci */
    TargetIdleCapacity?: number;
    /** This indicates the maximum capacity that the service can allocate for you. Newly created streams may take a few minutes to start. Capacity is released back to the service when idle. You pay for capaci */
    MaximumCapacity?: number;
}
export interface RuntimeEnvironment {
    /** The operating system and other drivers. For Proton, this also includes the Proton compatibility layer. */
    Type: 'PROTON' | 'WINDOWS' | 'UBUNTU';
    /** Versioned container environment for the application operating system. */
    Version: string;
}
export interface PerformanceStatsConfiguration {
    /** Performance stats for the session are streamed to the client when set to true. Defaults to false. */
    SharedWithClient?: boolean;
}
export interface AddStreamGroupLocationsInput {
    /** A stream group to add the specified locations to. This value is an Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:1 */
    Identifier: string;
    /** A set of one or more locations and the streaming capacity for each location. */
    LocationConfigurations: LocationConfiguration[];
}
export interface AssociateApplicationsInput {
    /** A set of applications to associate with the stream group. This value is a set of either Amazon Resource Names (ARN) or IDs that uniquely identify application resources. Example ARN: arn:aws:gameliftst */
    ApplicationIdentifiers: string[];
    /** A stream group to associate to the applications. This value is an Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:11 */
    Identifier: string;
}
export interface CreateApplicationInput {
    /** The location of the content that you want to stream. Enter an Amazon S3 URI to a bucket that contains your game or other application. The location can have a multi-level prefix structure, but it must  */
    ApplicationSourceUri: string;
    /** A human-readable label for the application. You can update this value later. */
    Description: string;
    /** The relative path and file name of the executable file that Amazon GameLift Streams will stream. Specify a path relative to the location set in ApplicationSourceUri. The file must be contained within  */
    ExecutablePath: string;
    /** Configuration settings that identify the operating system for an application resource. This can also include a compatibility layer and other drivers. A runtime environment can be one of the following: */
    RuntimeEnvironment: RuntimeEnvironment;
    /** An Amazon S3 URI to a bucket where you would like Amazon GameLift Streams to save application logs. Required if you specify one or more ApplicationLogPaths. The log bucket must have permissions that g */
    ApplicationLogOutputUri?: string;
    /** Locations of log files that your content generates during a stream session. Enter path values that are relative to the ApplicationSourceUri location. You can specify up to 10 log paths. Amazon GameLif */
    ApplicationLogPaths?: string[];
    /** A unique identifier that represents a client request. The request is idempotent, which ensures that an API request completes only once. When users send a request, Amazon GameLift Streams automatically */
    ClientToken?: string;
    /** A list of labels to assign to the new application resource. Tags are developer-defined key-value pairs. Tagging Amazon Web Services resources is useful for resource management, access management and c */
    Tags?: Record<string, string>;
}
export interface CreateStreamGroupInput {
    /** A descriptive label for the stream group. */
    Description: string;
    /** The target stream quality for sessions that are hosted in this stream group. Set a stream class that is appropriate to the type of content that you're streaming. Stream class determines the type of co */
    StreamClass: 'gen4n_high' | 'gen4n_ultra' | 'gen4n_win2022' | 'gen5n_high' | 'gen5n_ultra' | 'gen5n_win2022' | 'gen6n_small' | 'gen6n_medium' | 'gen6n_high' | 'gen6n_ultra' | 'gen6n_ultra_win2022' | 'gen6n_pro' | 'gen6n_pro_win2022';
    /** A unique identifier that represents a client request. The request is idempotent, which ensures that an API request completes only once. When users send a request, Amazon GameLift Streams automatically */
    ClientToken?: string;
    /** The unique identifier of the Amazon GameLift Streams application that you want to set as the default application in a stream group. The application that you specify must be in READY status. The defaul */
    DefaultApplicationIdentifier?: string;
    /** A set of one or more locations and the streaming capacity for each location. */
    LocationConfigurations?: LocationConfiguration[];
    /** A list of labels to assign to the new stream group resource. Tags are developer-defined key-value pairs. Tagging Amazon Web Services resources is useful for resource management, access management and  */
    Tags?: Record<string, string>;
}
export interface CreateStreamSessionConnectionInput {
    /** Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4. The */
    Identifier: string;
    /** A WebRTC ICE offer string to use when initializing a WebRTC connection. The offer is a very long JSON string. Provide the string as a text value in quotes. The offer must be newly generated, not the s */
    SignalRequest: string;
    /** Amazon Resource Name (ARN) or ID that uniquely identifies the stream session resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamsession/sg-1AB2C3De4/ABC123def4567. Example ID: */
    StreamSessionIdentifier: string;
    /** A unique identifier that represents a client request. The request is idempotent, which ensures that an API request completes only once. When users send a request, Amazon GameLift Streams automatically */
    ClientToken?: string;
}
export interface DeleteApplicationInput {
    /** An Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. Example ID: a-9ZY8X7Wv6. */
    Identifier: string;
}
export interface DeleteStreamGroupInput {
    /** An Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4. */
    Identifier: string;
}
export interface DisassociateApplicationsInput {
    /** A set of applications that you want to disassociate from the stream group. This value is a set of either Amazon Resource Names (ARN) or IDs that uniquely identify application resources. Example ARN: a */
    ApplicationIdentifiers: string[];
    /** A stream group to disassociate these applications from. This value is an Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-we */
    Identifier: string;
}
export interface ExportStreamSessionFilesInput {
    /** An Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4. */
    Identifier: string;
    /** The S3 bucket URI where Amazon GameLift Streams uploads the set of compressed exported files for this stream session. Amazon GameLift Streams generates a ZIP file name based on the stream session meta */
    OutputUri: string;
    /** An Amazon Resource Name (ARN) or ID that uniquely identifies the stream session resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamsession/sg-1AB2C3De4/ABC123def4567. Example  */
    StreamSessionIdentifier: string;
}
export interface GetApplicationInput {
    /** An Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. Example ID: a-9ZY8X7Wv6. */
    Identifier: string;
}
export interface GetStreamGroupInput {
    /** An Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4. */
    Identifier: string;
}
export interface GetStreamSessionInput {
    /** The stream group that runs this stream session. This value is an Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111 */
    Identifier: string;
    /** An Amazon Resource Name (ARN) or ID that uniquely identifies the stream session resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamsession/sg-1AB2C3De4/ABC123def4567. Example  */
    StreamSessionIdentifier: string;
}
export interface ListApplicationsInput {
    /** The number of results to return. Use this parameter with NextToken to return results in sequential pages. Default value is 25. */
    MaxResults?: number;
    /** The token that marks the start of the next set of results. Use this token when you retrieve results as sequential pages. To get the first page of results, omit a token value. To get the remaining page */
    NextToken?: string;
}
export interface ListStreamGroupsInput {
    /** The number of results to return. Use this parameter with NextToken to return results in sequential pages. Default value is 25. */
    MaxResults?: number;
    /** A token that marks the start of the next set of results. Use this token when you retrieve results as sequential pages. To get the first page of results, omit a token value. To get the remaining pages, */
    NextToken?: string;
}
export interface ListStreamSessionsInput {
    /** The unique identifier of a Amazon GameLift Streams stream group to retrieve the stream session for. You can use either the stream group ID or the Amazon Resource Name (ARN). */
    Identifier: string;
    /** Filter by the exported files status. You can specify one status in each request to retrieve only sessions that currently have that exported files status. Exported files can be in one of the following  */
    ExportFilesStatus?: 'SUCCEEDED' | 'FAILED' | 'PENDING';
    /** The number of results to return. Use this parameter with NextToken to return results in sequential pages. Default value is 25. */
    MaxResults?: number;
    /** The token that marks the start of the next set of results. Use this token when you retrieve results as sequential pages. To get the first page of results, omit a token value. To get the remaining page */
    NextToken?: string;
    /** Filter by the stream session status. You can specify one status in each request to retrieve only sessions that are currently in that status. */
    Status?: 'ACTIVATING' | 'ACTIVE' | 'CONNECTED' | 'PENDING_CLIENT_RECONNECTION' | 'RECONNECTING' | 'TERMINATING' | 'TERMINATED' | 'ERROR';
}
export interface ListStreamSessionsByAccountInput {
    /** Filter by the exported files status. You can specify one status in each request to retrieve only sessions that currently have that exported files status. */
    ExportFilesStatus?: 'SUCCEEDED' | 'FAILED' | 'PENDING';
    /** The number of results to return. Use this parameter with NextToken to return results in sequential pages. Default value is 25. */
    MaxResults?: number;
    /** The token that marks the start of the next set of results. Use this token when you retrieve results as sequential pages. To get the first page of results, omit a token value. To get the remaining page */
    NextToken?: string;
    /** Filter by the stream session status. You can specify one status in each request to retrieve only sessions that are currently in that status. */
    Status?: 'ACTIVATING' | 'ACTIVE' | 'CONNECTED' | 'PENDING_CLIENT_RECONNECTION' | 'RECONNECTING' | 'TERMINATING' | 'TERMINATED' | 'ERROR';
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) that you want to retrieve tags for. To get an Amazon GameLift Streams resource ARN, call a List or Get operation for the resource. */
    ResourceArn: string;
}
export interface RemoveStreamGroupLocationsInput {
    /** A stream group to remove the specified locations from. This value is an Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-wes */
    Identifier: string;
    /** A set of locations to remove this stream group. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to Regions, quotas, and limitations in the Amazon  */
    Locations: string[];
}
export interface StartStreamSessionInput {
    /** An Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. Example ID: a-9ZY8X7Wv6. */
    ApplicationIdentifier: string;
    /** The stream group to run this stream session with. This value is an Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:1 */
    Identifier: string;
    /** The data transport protocol to use for the stream session. */
    Protocol: 'WebRTC';
    /** A WebRTC ICE offer string to use when initializing a WebRTC connection. Typically, the offer is a very long JSON string. Provide the string as a text value in quotes. Amazon GameLift Streams also supp */
    SignalRequest: string;
    /** A set of options that you can use to control the stream session runtime environment, expressed as a set of key-value pairs. You can use this to configure the application or stream session details. You */
    AdditionalEnvironmentVariables?: Record<string, string>;
    /** A list of CLI arguments that are sent to the streaming server when a stream session launches. You can use this to configure the application or stream session details. You can also provide custom argum */
    AdditionalLaunchArgs?: string[];
    /** A unique identifier that represents a client request. The request is idempotent, which ensures that an API request completes only once. When users send a request, Amazon GameLift Streams automatically */
    ClientToken?: string;
    /** Length of time (in seconds) that Amazon GameLift Streams should wait for a client to connect or reconnect to the stream session. Applies to both connection and reconnection scenarios. This time span s */
    ConnectionTimeoutSeconds?: number;
    /** A human-readable label for the stream session. You can update this value later. */
    Description?: string;
    /** A list of locations, in order of priority, where you want Amazon GameLift Streams to start a stream from. For example, us-east-1. Amazon GameLift Streams selects the location with the next available c */
    Locations?: string[];
    /** Configuration settings for sharing the stream session's performance stats with the client */
    PerformanceStatsConfiguration?: PerformanceStatsConfiguration;
    /** The maximum duration of a session. Amazon GameLift Streams will automatically terminate a session after this amount of time has elapsed, regardless of any existing client connections. Default value is */
    SessionLengthSeconds?: number;
    /** An opaque, unique identifier for an end-user, defined by the developer. */
    UserId?: string;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the Amazon GameLift Streams resource that you want to apply tags to. */
    ResourceArn: string;
    /** A list of tags, in the form of key-value pairs, to assign to the specified Amazon GameLift Streams resource. */
    Tags: Record<string, string>;
}
export interface TerminateStreamSessionInput {
    /** Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4. The */
    Identifier: string;
    /** Amazon Resource Name (ARN) or ID that uniquely identifies the stream session resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamsession/sg-1AB2C3De4/ABC123def4567. Example ID: */
    StreamSessionIdentifier: string;
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the Amazon GameLift Streams resource that you want to remove tags from. */
    ResourceArn: string;
    /** A list of tag keys to remove from the specified Amazon GameLift Streams resource. */
    TagKeys: string[];
}
export interface UpdateApplicationInput {
    /** An Amazon Resource Name (ARN) or ID that uniquely identifies the application resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:application/a-9ZY8X7Wv6. Example ID: a-9ZY8X7Wv6. */
    Identifier: string;
    /** An Amazon S3 URI to a bucket where you would like Amazon GameLift Streams to save application logs. Required if you specify one or more ApplicationLogPaths. The log bucket must have permissions that g */
    ApplicationLogOutputUri?: string;
    /** Locations of log files that your content generates during a stream session. Enter path values that are relative to the ApplicationSourceUri location. You can specify up to 10 log paths. Amazon GameLif */
    ApplicationLogPaths?: string[];
    /** A human-readable label for the application. */
    Description?: string;
}
export interface UpdateStreamGroupInput {
    /** An Amazon Resource Name (ARN) or ID that uniquely identifies the stream group resource. Example ARN: arn:aws:gameliftstreams:us-west-2:111122223333:streamgroup/sg-1AB2C3De4. Example ID: sg-1AB2C3De4. */
    Identifier: string;
    /** The unique identifier of the Amazon GameLift Streams application that you want to set as the default application in a stream group. The application that you specify must be in READY status. The defaul */
    DefaultApplicationIdentifier?: string;
    /** A descriptive label for the stream group. */
    Description?: string;
    /** A set of one or more locations and the streaming capacity for each location. */
    LocationConfigurations?: LocationConfiguration[];
}
/** GameLiftStreams service binding for Step Functions SDK integrations. */
export declare class GameLiftStreams {
    constructor();
    addStreamGroupLocations<T>(params: AddStreamGroupLocationsInput): Promise<T>;
    associateApplications<T>(params: AssociateApplicationsInput): Promise<T>;
    createApplication<T>(params: CreateApplicationInput): Promise<T>;
    createStreamGroup<T>(params: CreateStreamGroupInput): Promise<T>;
    createStreamSessionConnection<T>(params: CreateStreamSessionConnectionInput): Promise<T>;
    deleteApplication<T>(params: DeleteApplicationInput): Promise<T>;
    deleteStreamGroup<T>(params: DeleteStreamGroupInput): Promise<T>;
    disassociateApplications<T>(params: DisassociateApplicationsInput): Promise<T>;
    exportStreamSessionFiles<T>(params: ExportStreamSessionFilesInput): Promise<T>;
    getApplication<T>(params: GetApplicationInput): Promise<T>;
    getStreamGroup<T>(params: GetStreamGroupInput): Promise<T>;
    getStreamSession<T>(params: GetStreamSessionInput): Promise<T>;
    listApplications<T>(params: ListApplicationsInput): Promise<T>;
    listStreamGroups<T>(params: ListStreamGroupsInput): Promise<T>;
    listStreamSessions<T>(params: ListStreamSessionsInput): Promise<T>;
    listStreamSessionsByAccount<T>(params: ListStreamSessionsByAccountInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    removeStreamGroupLocations<T>(params: RemoveStreamGroupLocationsInput): Promise<T>;
    startStreamSession<T>(params: StartStreamSessionInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    terminateStreamSession<T>(params: TerminateStreamSessionInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateApplication<T>(params: UpdateApplicationInput): Promise<T>;
    updateStreamGroup<T>(params: UpdateStreamGroupInput): Promise<T>;
}
//# sourceMappingURL=GameLiftStreams.d.ts.map