import * as HttpClient from "effect/unstable/http/HttpClient";
import * as S from "effect/Schema";
import * as API from "../client/api.ts";
import type { Credentials } from "../credentials.ts";
import type { CommonErrors } from "../errors.ts";
import type { Region } from "../region.ts";
export type ClientToken = string;
export type AccountId = string;
export type BucketName = string;
export type ErrorMessage = string;
export interface GetConnectionRecordingPreferencesRequest {
}
export declare const GetConnectionRecordingPreferencesRequest: S.Schema<GetConnectionRecordingPreferencesRequest>;
export interface S3Bucket {
    BucketOwner: string;
    BucketName: string;
}
export declare const S3Bucket: S.Schema<S3Bucket>;
export type S3Buckets = S3Bucket[];
export declare const S3Buckets: S.$Array<S.Schema<S3Bucket>>;
export interface RecordingDestinations {
    S3Buckets: S3Bucket[];
}
export declare const RecordingDestinations: S.Schema<RecordingDestinations>;
export interface ConnectionRecordingPreferences {
    RecordingDestinations: RecordingDestinations;
    KMSKeyArn: string;
}
export declare const ConnectionRecordingPreferences: S.Schema<ConnectionRecordingPreferences>;
export interface GetConnectionRecordingPreferencesResponse {
    ClientToken?: string;
    ConnectionRecordingPreferences?: ConnectionRecordingPreferences;
}
export declare const GetConnectionRecordingPreferencesResponse: S.Schema<GetConnectionRecordingPreferencesResponse>;
export interface DeleteConnectionRecordingPreferencesRequest {
    ClientToken?: string;
}
export declare const DeleteConnectionRecordingPreferencesRequest: S.Schema<DeleteConnectionRecordingPreferencesRequest>;
export interface DeleteConnectionRecordingPreferencesResponse {
    ClientToken?: string;
}
export declare const DeleteConnectionRecordingPreferencesResponse: S.Schema<DeleteConnectionRecordingPreferencesResponse>;
export interface UpdateConnectionRecordingPreferencesRequest {
    ConnectionRecordingPreferences: ConnectionRecordingPreferences;
    ClientToken?: string;
}
export declare const UpdateConnectionRecordingPreferencesRequest: S.Schema<UpdateConnectionRecordingPreferencesRequest>;
export interface UpdateConnectionRecordingPreferencesResponse {
    ClientToken?: string;
    ConnectionRecordingPreferences?: ConnectionRecordingPreferences;
}
export declare const UpdateConnectionRecordingPreferencesResponse: S.Schema<UpdateConnectionRecordingPreferencesResponse>;
declare const AccessDeniedException_base: S.Class<AccessDeniedException, S.TaggedStruct<"AccessDeniedException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        AuthError: true;
    };
});
export declare class AccessDeniedException extends AccessDeniedException_base {
}
declare const ConflictException_base: S.Class<ConflictException, S.TaggedStruct<"ConflictException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        ConflictError: true;
    };
});
export declare class ConflictException extends ConflictException_base {
}
declare const InternalServerException_base: S.Class<InternalServerException, S.TaggedStruct<"InternalServerException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        ServerError: true;
    };
});
export declare class InternalServerException extends InternalServerException_base {
}
declare const ResourceNotFoundException_base: S.Class<ResourceNotFoundException, S.TaggedStruct<"ResourceNotFoundException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class ResourceNotFoundException extends ResourceNotFoundException_base {
}
declare const ServiceQuotaExceededException_base: S.Class<ServiceQuotaExceededException, S.TaggedStruct<"ServiceQuotaExceededException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        QuotaError: true;
    };
});
export declare class ServiceQuotaExceededException extends ServiceQuotaExceededException_base {
}
declare const ThrottlingException_base: S.Class<ThrottlingException, S.TaggedStruct<"ThrottlingException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        ThrottlingError: true;
    };
});
export declare class ThrottlingException extends ThrottlingException_base {
}
declare const ValidationException_base: S.Class<ValidationException, S.TaggedStruct<"ValidationException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class ValidationException extends ValidationException_base {
}
export type GetConnectionRecordingPreferencesError = AccessDeniedException | ConflictException | InternalServerException | ResourceNotFoundException | ServiceQuotaExceededException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Returns the preferences specified for recording RDP connections in the requesting Amazon Web Services account and Amazon Web Services Region.
 */
export declare const getConnectionRecordingPreferences: API.OperationMethod<GetConnectionRecordingPreferencesRequest, GetConnectionRecordingPreferencesResponse, GetConnectionRecordingPreferencesError, Credentials | Region | HttpClient.HttpClient>;
export type DeleteConnectionRecordingPreferencesError = AccessDeniedException | ConflictException | InternalServerException | ResourceNotFoundException | ServiceQuotaExceededException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Deletes the preferences for recording RDP connections.
 */
export declare const deleteConnectionRecordingPreferences: API.OperationMethod<DeleteConnectionRecordingPreferencesRequest, DeleteConnectionRecordingPreferencesResponse, DeleteConnectionRecordingPreferencesError, Credentials | Region | HttpClient.HttpClient>;
export type UpdateConnectionRecordingPreferencesError = AccessDeniedException | ConflictException | InternalServerException | ResourceNotFoundException | ServiceQuotaExceededException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Updates the preferences for recording RDP connections.
 */
export declare const updateConnectionRecordingPreferences: API.OperationMethod<UpdateConnectionRecordingPreferencesRequest, UpdateConnectionRecordingPreferencesResponse, UpdateConnectionRecordingPreferencesError, Credentials | Region | HttpClient.HttpClient>;
export {};
//# sourceMappingURL=ssm-guiconnect.d.ts.map