import * as HttpClient from "effect/unstable/http/HttpClient";
import * as redacted from "effect/Redacted";
import * as S from "effect/Schema";
import * as stream from "effect/Stream";
import * as API from "../client/api.js";
import * as T from "../traits.js";
import * as C from "../category.js";
import { SensitiveString } from "../sensitive.js";
const svc = T.AwsApiService({
    sdkId: "PartnerCentral Account",
    serviceShapeName: "PartnerCentralAccount",
});
const auth = T.AwsAuthSigv4({ name: "partnercentral-account" });
const ver = T.ServiceVersion("2025-04-04");
const proto = T.AwsProtocolsAwsJson1_0();
const rules = T.EndpointResolver((p, _) => {
    const { UseFIPS = false, Endpoint, Region } = p;
    const e = (u, p = {}, h = {}) => ({
        type: "endpoint",
        endpoint: { url: u, properties: p, headers: h },
    });
    const err = (m) => ({
        type: "error",
        message: m,
    });
    if (Endpoint != null) {
        if (UseFIPS === true) {
            return err("Invalid Configuration: FIPS and custom endpoint are not supported");
        }
        return e(Endpoint);
    }
    if (Region != null) {
        {
            const PartitionResult = _.partition(Region);
            if (PartitionResult != null && PartitionResult !== false) {
                if (UseFIPS === true) {
                    return e(`https://partnercentral-account-fips.${Region}.${_.getAttr(PartitionResult, "dualStackDnsSuffix")}`);
                }
                return e(`https://partnercentral-account.${Region}.${_.getAttr(PartitionResult, "dualStackDnsSuffix")}`);
            }
        }
    }
    return err("Invalid Configuration: Missing Region");
});
export const VerificationType = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const GetVerificationRequest = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ VerificationType: VerificationType }).pipe(T.all(T.Http({ method: "POST", uri: "/" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "GetVerificationRequest",
});
export const VerificationStatus = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const BusinessVerificationDetails = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    LegalName: SensitiveString,
    RegistrationId: SensitiveString,
    CountryCode: S.String,
    JurisdictionOfIncorporation: S.optional(S.String),
})).annotate({
    identifier: "BusinessVerificationDetails",
});
export const BusinessVerificationResponse = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    BusinessVerificationDetails: BusinessVerificationDetails,
    CompletionUrl: S.optional(S.String),
    CompletionUrlExpiresAt: S.optional(T.DateFromString.pipe(T.TimestampFormat("date-time"))),
})).annotate({
    identifier: "BusinessVerificationResponse",
});
export const RegistrantVerificationResponse = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    CompletionUrl: S.String,
    CompletionUrlExpiresAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
})).annotate({
    identifier: "RegistrantVerificationResponse",
});
export const VerificationResponseDetails = /*@__PURE__*/ /*#__PURE__*/ S.Union([
    S.Struct({ BusinessVerificationResponse: BusinessVerificationResponse }),
    S.Struct({ RegistrantVerificationResponse: RegistrantVerificationResponse }),
]);
export const GetVerificationResponse = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    VerificationType: VerificationType,
    VerificationStatus: VerificationStatus,
    VerificationStatusReason: S.optional(S.String),
    VerificationResponseDetails: VerificationResponseDetails,
    StartedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    CompletedAt: S.optional(T.DateFromString.pipe(T.TimestampFormat("date-time"))),
})).annotate({
    identifier: "GetVerificationResponse",
});
export const AccessDeniedExceptionReason = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const ResourceNotFoundExceptionReason = 
/*@__PURE__*/ /*#__PURE__*/ S.String;
export const ValidationExceptionReason = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const FieldValidationCode = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const FieldValidationError = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ Name: S.String, Message: S.String, Code: FieldValidationCode })).annotate({
    identifier: "FieldValidationError",
});
export const BusinessValidationCode = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const BusinessValidationError = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ Message: S.String, Code: BusinessValidationCode })).annotate({
    identifier: "BusinessValidationError",
});
export const ValidationError = /*@__PURE__*/ /*#__PURE__*/ S.Union([
    S.Struct({ FieldValidationError: FieldValidationError }),
    S.Struct({ BusinessValidationError: BusinessValidationError }),
]);
export const ValidationErrorList = 
/*@__PURE__*/ /*#__PURE__*/ S.Array(ValidationError);
export const ListTagsForResourceRequest = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ ResourceArn: S.String }).pipe(T.all(T.Http({ method: "POST", uri: "/" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "ListTagsForResourceRequest",
});
export const Tag = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ Key: S.String, Value: S.String })).annotate({ identifier: "Tag" });
export const TagList = /*@__PURE__*/ /*#__PURE__*/ S.Array(Tag);
export const ListTagsForResourceResponse = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ ResourceArn: S.String, Tags: S.optional(TagList) })).annotate({
    identifier: "ListTagsForResourceResponse",
});
export const SendEmailVerificationCodeRequest = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ Catalog: S.String, Email: S.String }).pipe(T.all(T.Http({ method: "POST", uri: "/" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "SendEmailVerificationCodeRequest",
});
export const SendEmailVerificationCodeResponse = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({})).annotate({
    identifier: "SendEmailVerificationCodeResponse",
});
export const ServiceQuotaExceededExceptionReason = 
/*@__PURE__*/ /*#__PURE__*/ S.String;
export const RegistrantVerificationDetails = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({})).annotate({
    identifier: "RegistrantVerificationDetails",
});
export const VerificationDetails = /*@__PURE__*/ /*#__PURE__*/ S.Union([
    S.Struct({ BusinessVerificationDetails: BusinessVerificationDetails }),
    S.Struct({ RegistrantVerificationDetails: RegistrantVerificationDetails }),
]);
export const StartVerificationRequest = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    ClientToken: S.optional(S.String).pipe(T.IdempotencyToken()),
    VerificationDetails: S.optional(VerificationDetails),
}).pipe(T.all(T.Http({ method: "POST", uri: "/" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "StartVerificationRequest",
});
export const StartVerificationResponse = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    VerificationType: VerificationType,
    VerificationStatus: VerificationStatus,
    VerificationStatusReason: S.optional(S.String),
    VerificationResponseDetails: VerificationResponseDetails,
    StartedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    CompletedAt: S.optional(T.DateFromString.pipe(T.TimestampFormat("date-time"))),
})).annotate({
    identifier: "StartVerificationResponse",
});
export const ConflictExceptionReason = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const TagResourceRequest = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ ResourceArn: S.String, Tags: TagList }).pipe(T.all(T.Http({ method: "POST", uri: "/" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "TagResourceRequest",
});
export const TagResourceResponse = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({})).annotate({
    identifier: "TagResourceResponse",
});
export const TagKeyList = /*@__PURE__*/ /*#__PURE__*/ S.Array(S.String);
export const UntagResourceRequest = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ ResourceArn: S.String, TagKeys: TagKeyList }).pipe(T.all(T.Http({ method: "POST", uri: "/" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "UntagResourceRequest",
});
export const UntagResourceResponse = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({})).annotate({
    identifier: "UntagResourceResponse",
});
export const ConnectionType = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const CreateConnectionInvitationRequest = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    ClientToken: S.String.pipe(T.IdempotencyToken()),
    ConnectionType: ConnectionType,
    Email: S.String,
    Message: S.String,
    Name: SensitiveString,
    ReceiverIdentifier: S.String,
}).pipe(T.all(T.Http({ method: "POST", uri: "/" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "CreateConnectionInvitationRequest",
});
export const ParticipantType = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const InvitationStatus = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const CreateConnectionInvitationResponse = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Id: S.String,
    Arn: S.String,
    ConnectionId: S.optional(S.String),
    ConnectionType: ConnectionType,
    CreatedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    UpdatedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    ExpiresAt: S.optional(T.DateFromString.pipe(T.TimestampFormat("date-time"))),
    OtherParticipantIdentifier: S.String,
    ParticipantType: ParticipantType,
    Status: InvitationStatus,
    InvitationMessage: S.String,
    InviterEmail: S.String,
    InviterName: SensitiveString,
})).annotate({
    identifier: "CreateConnectionInvitationResponse",
});
export const GetConnectionInvitationRequest = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ Catalog: S.String, Identifier: S.String }).pipe(T.all(T.Http({ method: "POST", uri: "/" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "GetConnectionInvitationRequest",
});
export const GetConnectionInvitationResponse = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Id: S.String,
    Arn: S.String,
    ConnectionId: S.optional(S.String),
    ConnectionType: ConnectionType,
    CreatedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    UpdatedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    ExpiresAt: S.optional(T.DateFromString.pipe(T.TimestampFormat("date-time"))),
    OtherParticipantIdentifier: S.String,
    ParticipantType: ParticipantType,
    Status: InvitationStatus,
    InvitationMessage: S.String,
    InviterEmail: S.String,
    InviterName: SensitiveString,
})).annotate({
    identifier: "GetConnectionInvitationResponse",
});
export const ParticipantIdentifierList = /*@__PURE__*/ /*#__PURE__*/ S.Array(S.String);
export const ListConnectionInvitationsRequest = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    NextToken: S.optional(S.String),
    ConnectionType: S.optional(ConnectionType),
    MaxResults: S.optional(S.Number),
    OtherParticipantIdentifiers: S.optional(ParticipantIdentifierList),
    ParticipantType: S.optional(ParticipantType),
    Status: S.optional(InvitationStatus),
}).pipe(T.all(T.Http({ method: "POST", uri: "/" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "ListConnectionInvitationsRequest",
});
export const ConnectionInvitationSummary = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Id: S.String,
    Arn: S.String,
    ConnectionId: S.optional(S.String),
    ConnectionType: ConnectionType,
    CreatedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    UpdatedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    ExpiresAt: S.optional(T.DateFromString.pipe(T.TimestampFormat("date-time"))),
    OtherParticipantIdentifier: S.String,
    ParticipantType: ParticipantType,
    Status: InvitationStatus,
})).annotate({
    identifier: "ConnectionInvitationSummary",
});
export const ConnectionInvitationSummaryList = 
/*@__PURE__*/ /*#__PURE__*/ S.Array(ConnectionInvitationSummary);
export const ListConnectionInvitationsResponse = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    ConnectionInvitationSummaries: ConnectionInvitationSummaryList,
    NextToken: S.optional(S.String),
})).annotate({
    identifier: "ListConnectionInvitationsResponse",
});
export const AcceptConnectionInvitationRequest = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Identifier: S.String,
    ClientToken: S.String.pipe(T.IdempotencyToken()),
}).pipe(T.all(T.Http({ method: "POST", uri: "/" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "AcceptConnectionInvitationRequest",
});
export const ConnectionTypeStatus = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const PartnerProfileSummary = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ Id: S.String, Name: S.String })).annotate({
    identifier: "PartnerProfileSummary",
});
export const SellerProfileSummary = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ Id: S.String, Name: S.String })).annotate({
    identifier: "SellerProfileSummary",
});
export const AccountSummary = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ Name: S.String })).annotate({ identifier: "AccountSummary" });
export const Participant = /*@__PURE__*/ /*#__PURE__*/ S.Union([
    S.Struct({ PartnerProfile: PartnerProfileSummary }),
    S.Struct({ SellerProfile: SellerProfileSummary }),
    S.Struct({ Account: AccountSummary }),
]);
export const ConnectionTypeDetail = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    CreatedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    InviterEmail: S.String,
    InviterName: SensitiveString,
    Status: ConnectionTypeStatus,
    CanceledAt: S.optional(T.DateFromString.pipe(T.TimestampFormat("date-time"))),
    CanceledBy: S.optional(S.String),
    OtherParticipant: Participant,
})).annotate({
    identifier: "ConnectionTypeDetail",
});
export const ConnectionTypeDetailMap = /*@__PURE__*/ /*#__PURE__*/ S.Record(ConnectionType, ConnectionTypeDetail.pipe(S.optional));
export const Connection = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Id: S.String,
    Arn: S.String,
    OtherParticipantAccountId: S.String,
    UpdatedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    ConnectionTypes: ConnectionTypeDetailMap,
})).annotate({ identifier: "Connection" });
export const AcceptConnectionInvitationResponse = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ Connection: Connection })).annotate({
    identifier: "AcceptConnectionInvitationResponse",
});
export const CancelConnectionInvitationRequest = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Identifier: S.String,
    ClientToken: S.String.pipe(T.IdempotencyToken()),
}).pipe(T.all(T.Http({ method: "POST", uri: "/" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "CancelConnectionInvitationRequest",
});
export const CancelConnectionInvitationResponse = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Id: S.String,
    Arn: S.String,
    ConnectionId: S.optional(S.String),
    ConnectionType: ConnectionType,
    CreatedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    UpdatedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    ExpiresAt: S.optional(T.DateFromString.pipe(T.TimestampFormat("date-time"))),
    OtherParticipantIdentifier: S.String,
    ParticipantType: ParticipantType,
    Status: InvitationStatus,
    InvitationMessage: S.String,
    InviterEmail: S.String,
    InviterName: SensitiveString,
})).annotate({
    identifier: "CancelConnectionInvitationResponse",
});
export const RejectConnectionInvitationRequest = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Identifier: S.String,
    ClientToken: S.String.pipe(T.IdempotencyToken()),
    Reason: S.optional(S.String),
}).pipe(T.all(T.Http({ method: "POST", uri: "/" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "RejectConnectionInvitationRequest",
});
export const RejectConnectionInvitationResponse = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Id: S.String,
    Arn: S.String,
    ConnectionId: S.optional(S.String),
    ConnectionType: ConnectionType,
    CreatedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    UpdatedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    ExpiresAt: S.optional(T.DateFromString.pipe(T.TimestampFormat("date-time"))),
    OtherParticipantIdentifier: S.String,
    ParticipantType: ParticipantType,
    Status: InvitationStatus,
    InvitationMessage: S.String,
    InviterEmail: S.String,
    InviterName: SensitiveString,
})).annotate({
    identifier: "RejectConnectionInvitationResponse",
});
export const GetConnectionPreferencesRequest = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ Catalog: S.String }).pipe(T.all(T.Http({ method: "POST", uri: "/" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "GetConnectionPreferencesRequest",
});
export const AccessType = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const GetConnectionPreferencesResponse = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Arn: S.String,
    AccessType: AccessType,
    ExcludedParticipantIds: S.optional(ParticipantIdentifierList),
    UpdatedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    Revision: S.Number,
})).annotate({
    identifier: "GetConnectionPreferencesResponse",
});
export const UpdateConnectionPreferencesRequest = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Revision: S.Number,
    AccessType: AccessType,
    ExcludedParticipantIdentifiers: S.optional(ParticipantIdentifierList),
}).pipe(T.all(T.Http({ method: "POST", uri: "/" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "UpdateConnectionPreferencesRequest",
});
export const UpdateConnectionPreferencesResponse = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Arn: S.String,
    AccessType: AccessType,
    ExcludedParticipantIds: S.optional(ParticipantIdentifierList),
    UpdatedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    Revision: S.Number,
})).annotate({
    identifier: "UpdateConnectionPreferencesResponse",
});
export const GetConnectionRequest = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ Catalog: S.String, Identifier: S.String }).pipe(T.all(T.Http({ method: "POST", uri: "/" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "GetConnectionRequest",
});
export const GetConnectionResponse = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Id: S.String,
    Arn: S.String,
    OtherParticipantAccountId: S.String,
    UpdatedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    ConnectionTypes: ConnectionTypeDetailMap,
})).annotate({
    identifier: "GetConnectionResponse",
});
export const ListConnectionsRequest = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    NextToken: S.optional(S.String),
    ConnectionType: S.optional(S.String),
    MaxResults: S.optional(S.Number),
    OtherParticipantIdentifiers: S.optional(ParticipantIdentifierList),
}).pipe(T.all(T.Http({ method: "POST", uri: "/" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "ListConnectionsRequest",
});
export const ConnectionTypeSummary = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ Status: ConnectionTypeStatus, OtherParticipant: Participant })).annotate({
    identifier: "ConnectionTypeSummary",
});
export const ConnectionTypeSummaryMap = /*@__PURE__*/ /*#__PURE__*/ S.Record(ConnectionType, ConnectionTypeSummary.pipe(S.optional));
export const ConnectionSummary = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Id: S.String,
    Arn: S.String,
    OtherParticipantAccountId: S.String,
    UpdatedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    ConnectionTypes: ConnectionTypeSummaryMap,
})).annotate({
    identifier: "ConnectionSummary",
});
export const ConnectionSummaryList = 
/*@__PURE__*/ /*#__PURE__*/ S.Array(ConnectionSummary);
export const ListConnectionsResponse = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    ConnectionSummaries: ConnectionSummaryList,
    NextToken: S.optional(S.String),
})).annotate({
    identifier: "ListConnectionsResponse",
});
export const CancelConnectionRequest = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Identifier: S.String,
    ConnectionType: ConnectionType,
    Reason: S.String,
    ClientToken: S.String.pipe(T.IdempotencyToken()),
}).pipe(T.all(T.Http({ method: "POST", uri: "/" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "CancelConnectionRequest",
});
export const CancelConnectionResponse = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Id: S.String,
    Arn: S.String,
    OtherParticipantAccountId: S.String,
    UpdatedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    ConnectionTypes: ConnectionTypeDetailMap,
})).annotate({
    identifier: "CancelConnectionResponse",
});
export const PrimarySolutionType = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const AllianceLeadContact = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    FirstName: SensitiveString,
    LastName: SensitiveString,
    Email: S.String,
    BusinessTitle: SensitiveString,
})).annotate({
    identifier: "AllianceLeadContact",
});
export const CreatePartnerRequest = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    ClientToken: S.optional(S.String).pipe(T.IdempotencyToken()),
    LegalName: SensitiveString,
    PrimarySolutionType: PrimarySolutionType,
    AllianceLeadContact: AllianceLeadContact,
    EmailVerificationCode: SensitiveString,
    Tags: S.optional(TagList),
}).pipe(T.all(T.Http({ method: "POST", uri: "/" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "CreatePartnerRequest",
});
export const IndustrySegment = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const IndustrySegmentList = 
/*@__PURE__*/ /*#__PURE__*/ S.Array(IndustrySegment);
export const LocalizedContent = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    DisplayName: S.String,
    Description: S.String,
    WebsiteUrl: S.String,
    LogoUrl: S.String,
    Locale: S.String,
})).annotate({
    identifier: "LocalizedContent",
});
export const LocalizedContentList = 
/*@__PURE__*/ /*#__PURE__*/ S.Array(LocalizedContent);
export const PartnerProfile = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    DisplayName: S.String,
    Description: S.String,
    WebsiteUrl: S.String,
    LogoUrl: S.String,
    PrimarySolutionType: PrimarySolutionType,
    IndustrySegments: IndustrySegmentList,
    TranslationSourceLocale: S.String,
    LocalizedContents: S.optional(LocalizedContentList),
    ProfileId: S.optional(S.String),
})).annotate({ identifier: "PartnerProfile" });
export const PartnerDomain = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    DomainName: S.String,
    RegisteredAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
})).annotate({ identifier: "PartnerDomain" });
export const PartnerDomainList = 
/*@__PURE__*/ /*#__PURE__*/ S.Array(PartnerDomain);
export const CreatePartnerResponse = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Arn: S.String,
    Id: S.String,
    LegalName: SensitiveString,
    CreatedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    Profile: PartnerProfile,
    AwsTrainingCertificationEmailDomains: S.optional(PartnerDomainList),
    AllianceLeadContact: AllianceLeadContact,
})).annotate({
    identifier: "CreatePartnerResponse",
});
export const GetPartnerRequest = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ Catalog: S.String, Identifier: S.String }).pipe(T.all(T.Http({ method: "POST", uri: "/" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "GetPartnerRequest",
});
export const GetPartnerResponse = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Arn: S.String,
    Id: S.String,
    LegalName: SensitiveString,
    CreatedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    Profile: PartnerProfile,
    AwsTrainingCertificationEmailDomains: S.optional(PartnerDomainList),
})).annotate({
    identifier: "GetPartnerResponse",
});
export const ListPartnersRequest = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ Catalog: S.String, NextToken: S.optional(S.String) }).pipe(T.all(T.Http({ method: "POST", uri: "/" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "ListPartnersRequest",
});
export const PartnerSummary = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Arn: S.String,
    Id: S.String,
    LegalName: SensitiveString,
    CreatedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
})).annotate({ identifier: "PartnerSummary" });
export const PartnerSummaryList = 
/*@__PURE__*/ /*#__PURE__*/ S.Array(PartnerSummary);
export const ListPartnersResponse = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    PartnerSummaryList: PartnerSummaryList,
    NextToken: S.optional(S.String),
})).annotate({
    identifier: "ListPartnersResponse",
});
export const AssociateAwsTrainingCertificationEmailDomainRequest = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Identifier: S.String,
    ClientToken: S.optional(S.String).pipe(T.IdempotencyToken()),
    Email: S.String,
    EmailVerificationCode: SensitiveString,
}).pipe(T.all(T.Http({ method: "POST", uri: "/" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "AssociateAwsTrainingCertificationEmailDomainRequest",
});
export const AssociateAwsTrainingCertificationEmailDomainResponse = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({})).annotate({
    identifier: "AssociateAwsTrainingCertificationEmailDomainResponse",
});
export const CancelProfileUpdateTaskRequest = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Identifier: S.String,
    ClientToken: S.optional(S.String).pipe(T.IdempotencyToken()),
    TaskId: S.String,
}).pipe(T.all(T.Http({ method: "POST", uri: "/" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "CancelProfileUpdateTaskRequest",
});
export const TaskDetails = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    DisplayName: S.String,
    Description: S.String,
    WebsiteUrl: S.String,
    LogoUrl: S.String,
    PrimarySolutionType: PrimarySolutionType,
    IndustrySegments: IndustrySegmentList,
    TranslationSourceLocale: S.String,
    LocalizedContents: S.optional(LocalizedContentList),
})).annotate({ identifier: "TaskDetails" });
export const ProfileTaskStatus = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const ProfileValidationErrorReason = 
/*@__PURE__*/ /*#__PURE__*/ S.String;
export const ErrorDetail = /*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Locale: S.String,
    Message: S.String,
    Reason: ProfileValidationErrorReason,
})).annotate({ identifier: "ErrorDetail" });
export const ErrorDetailList = /*@__PURE__*/ /*#__PURE__*/ S.Array(ErrorDetail);
export const CancelProfileUpdateTaskResponse = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Arn: S.String,
    Id: S.String,
    TaskId: S.String,
    TaskDetails: TaskDetails,
    StartedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    Status: ProfileTaskStatus,
    EndedAt: S.optional(T.DateFromString.pipe(T.TimestampFormat("date-time"))),
    ErrorDetailList: S.optional(ErrorDetailList),
})).annotate({
    identifier: "CancelProfileUpdateTaskResponse",
});
export const DisassociateAwsTrainingCertificationEmailDomainRequest = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Identifier: S.String,
    ClientToken: S.optional(S.String).pipe(T.IdempotencyToken()),
    DomainName: S.String,
}).pipe(T.all(T.Http({ method: "POST", uri: "/" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "DisassociateAwsTrainingCertificationEmailDomainRequest",
});
export const DisassociateAwsTrainingCertificationEmailDomainResponse = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({})).annotate({
    identifier: "DisassociateAwsTrainingCertificationEmailDomainResponse",
});
export const GetAllianceLeadContactRequest = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ Catalog: S.String, Identifier: S.String }).pipe(T.all(T.Http({ method: "POST", uri: "/" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "GetAllianceLeadContactRequest",
});
export const GetAllianceLeadContactResponse = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Arn: S.String,
    Id: S.String,
    AllianceLeadContact: AllianceLeadContact,
})).annotate({
    identifier: "GetAllianceLeadContactResponse",
});
export const GetProfileUpdateTaskRequest = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ Catalog: S.String, Identifier: S.String }).pipe(T.all(T.Http({ method: "POST", uri: "/" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "GetProfileUpdateTaskRequest",
});
export const GetProfileUpdateTaskResponse = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Arn: S.String,
    Id: S.String,
    TaskId: S.String,
    TaskDetails: TaskDetails,
    StartedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    Status: ProfileTaskStatus,
    EndedAt: S.optional(T.DateFromString.pipe(T.TimestampFormat("date-time"))),
    ErrorDetailList: S.optional(ErrorDetailList),
})).annotate({
    identifier: "GetProfileUpdateTaskResponse",
});
export const GetProfileVisibilityRequest = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({ Catalog: S.String, Identifier: S.String }).pipe(T.all(T.Http({ method: "POST", uri: "/" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "GetProfileVisibilityRequest",
});
export const ProfileVisibility = /*@__PURE__*/ /*#__PURE__*/ S.String;
export const GetProfileVisibilityResponse = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Arn: S.String,
    Id: S.String,
    Visibility: ProfileVisibility,
    ProfileId: S.String,
})).annotate({
    identifier: "GetProfileVisibilityResponse",
});
export const PutAllianceLeadContactRequest = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Identifier: S.String,
    AllianceLeadContact: AllianceLeadContact,
    EmailVerificationCode: S.optional(SensitiveString),
}).pipe(T.all(T.Http({ method: "POST", uri: "/" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "PutAllianceLeadContactRequest",
});
export const PutAllianceLeadContactResponse = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Arn: S.String,
    Id: S.String,
    AllianceLeadContact: AllianceLeadContact,
})).annotate({
    identifier: "PutAllianceLeadContactResponse",
});
export const PutProfileVisibilityRequest = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Identifier: S.String,
    Visibility: ProfileVisibility,
}).pipe(T.all(T.Http({ method: "POST", uri: "/" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "PutProfileVisibilityRequest",
});
export const PutProfileVisibilityResponse = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Arn: S.String,
    Id: S.String,
    Visibility: ProfileVisibility,
    ProfileId: S.String,
})).annotate({
    identifier: "PutProfileVisibilityResponse",
});
export const StartProfileUpdateTaskRequest = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Identifier: S.String,
    ClientToken: S.optional(S.String).pipe(T.IdempotencyToken()),
    TaskDetails: TaskDetails,
}).pipe(T.all(T.Http({ method: "POST", uri: "/" }), svc, auth, proto, ver, rules))).annotate({
    identifier: "StartProfileUpdateTaskRequest",
});
export const StartProfileUpdateTaskResponse = 
/*@__PURE__*/ /*#__PURE__*/ S.suspend(() => S.Struct({
    Catalog: S.String,
    Arn: S.String,
    Id: S.String,
    TaskId: S.String,
    TaskDetails: TaskDetails,
    StartedAt: T.DateFromString.pipe(T.TimestampFormat("date-time")),
    Status: ProfileTaskStatus,
    EndedAt: S.optional(T.DateFromString.pipe(T.TimestampFormat("date-time"))),
    ErrorDetailList: S.optional(ErrorDetailList),
})).annotate({
    identifier: "StartProfileUpdateTaskResponse",
});
//# Errors
export class AccessDeniedException extends S.TaggedErrorClass()("AccessDeniedException", { Message: S.String, Reason: AccessDeniedExceptionReason }).pipe(C.withAuthError) {
}
export class InternalServerException extends S.TaggedErrorClass()("InternalServerException", { Message: S.String }, T.Retryable()).pipe(C.withServerError, C.withRetryableError) {
}
export class ResourceNotFoundException extends S.TaggedErrorClass()("ResourceNotFoundException", { Message: S.String, Reason: ResourceNotFoundExceptionReason }).pipe(C.withBadRequestError) {
}
export class ThrottlingException extends S.TaggedErrorClass()("ThrottlingException", {
    Message: S.String,
    ServiceCode: S.optional(S.String),
    QuotaCode: S.optional(S.String),
}, T.Retryable()).pipe(C.withThrottlingError, C.withRetryableError) {
}
export class ValidationException extends S.TaggedErrorClass()("ValidationException", {
    Message: S.String,
    Reason: ValidationExceptionReason,
    ErrorDetails: S.optional(ValidationErrorList),
}).pipe(C.withBadRequestError) {
}
export class ServiceQuotaExceededException extends S.TaggedErrorClass()("ServiceQuotaExceededException", { Message: S.String, Reason: ServiceQuotaExceededExceptionReason }).pipe(C.withQuotaError) {
}
export class ConflictException extends S.TaggedErrorClass()("ConflictException", { Message: S.String, Reason: ConflictExceptionReason }).pipe(C.withConflictError) {
}
/**
 * Retrieves the current status and details of a verification process for a partner account. This operation allows partners to check the progress and results of business or registrant verification processes.
 */
export const getVerification = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetVerificationRequest,
    output: GetVerificationResponse,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Lists all tags associated with a specific AWS Partner Central Account resource.
 */
export const listTagsForResource = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: ListTagsForResourceRequest,
    output: ListTagsForResourceResponse,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Sends an email verification code to the specified email address for account verification purposes.
 */
export const sendEmailVerificationCode = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: SendEmailVerificationCodeRequest,
    output: SendEmailVerificationCodeResponse,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ServiceQuotaExceededException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Initiates a new verification process for a partner account. This operation begins the verification workflow for either business registration or individual registrant identity verification as required by AWS Partner Central.
 */
export const startVerification = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: StartVerificationRequest,
    output: StartVerificationResponse,
    errors: [
        AccessDeniedException,
        ConflictException,
        InternalServerException,
        ServiceQuotaExceededException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Adds or updates tags for a specified AWS Partner Central Account resource.
 */
export const tagResource = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: TagResourceRequest,
    output: TagResourceResponse,
    errors: [
        AccessDeniedException,
        ConflictException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Removes specified tags from an AWS Partner Central Account resource.
 */
export const untagResource = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: UntagResourceRequest,
    output: UntagResourceResponse,
    errors: [
        AccessDeniedException,
        ConflictException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Creates a new connection invitation to establish a partnership with another organization.
 */
export const createConnectionInvitation = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: CreateConnectionInvitationRequest,
    output: CreateConnectionInvitationResponse,
    errors: [
        AccessDeniedException,
        ConflictException,
        InternalServerException,
        ResourceNotFoundException,
        ServiceQuotaExceededException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Retrieves detailed information about a specific connection invitation.
 */
export const getConnectionInvitation = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetConnectionInvitationRequest,
    output: GetConnectionInvitationResponse,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Lists connection invitations for the partner account, with optional filtering by status, type, and other criteria.
 */
export const listConnectionInvitations = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
    input: ListConnectionInvitationsRequest,
    output: ListConnectionInvitationsResponse,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ThrottlingException,
        ValidationException,
    ],
    pagination: {
        inputToken: "NextToken",
        outputToken: "NextToken",
        items: "ConnectionInvitationSummaries",
        pageSize: "MaxResults",
    },
}));
/**
 * Accepts a connection invitation from another partner, establishing a formal partnership connection between the two parties.
 */
export const acceptConnectionInvitation = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: AcceptConnectionInvitationRequest,
    output: AcceptConnectionInvitationResponse,
    errors: [
        AccessDeniedException,
        ConflictException,
        InternalServerException,
        ResourceNotFoundException,
        ServiceQuotaExceededException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Cancels a pending connection invitation before it has been accepted or rejected.
 */
export const cancelConnectionInvitation = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: CancelConnectionInvitationRequest,
    output: CancelConnectionInvitationResponse,
    errors: [
        AccessDeniedException,
        ConflictException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Rejects a connection invitation from another partner, declining the partnership request.
 */
export const rejectConnectionInvitation = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: RejectConnectionInvitationRequest,
    output: RejectConnectionInvitationResponse,
    errors: [
        AccessDeniedException,
        ConflictException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Retrieves the connection preferences for a partner account, including access settings and exclusions.
 */
export const getConnectionPreferences = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetConnectionPreferencesRequest,
    output: GetConnectionPreferencesResponse,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Updates the connection preferences for a partner account, modifying access settings and exclusions.
 */
export const updateConnectionPreferences = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: UpdateConnectionPreferencesRequest,
    output: UpdateConnectionPreferencesResponse,
    errors: [
        AccessDeniedException,
        ConflictException,
        InternalServerException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Retrieves detailed information about a specific connection between partners.
 */
export const getConnection = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetConnectionRequest,
    output: GetConnectionResponse,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Lists active connections for the partner account, with optional filtering by connection type and participant.
 */
export const listConnections = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
    input: ListConnectionsRequest,
    output: ListConnectionsResponse,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ThrottlingException,
        ValidationException,
    ],
    pagination: {
        inputToken: "NextToken",
        outputToken: "NextToken",
        items: "ConnectionSummaries",
        pageSize: "MaxResults",
    },
}));
/**
 * Cancels an existing connection between partners, terminating the partnership relationship.
 */
export const cancelConnection = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: CancelConnectionRequest,
    output: CancelConnectionResponse,
    errors: [
        AccessDeniedException,
        ConflictException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Creates a new partner account in the AWS Partner Network with the specified details and configuration.
 */
export const createPartner = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: CreatePartnerRequest,
    output: CreatePartnerResponse,
    errors: [
        AccessDeniedException,
        ConflictException,
        InternalServerException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Retrieves detailed information about a specific partner account.
 */
export const getPartner = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetPartnerRequest,
    output: GetPartnerResponse,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Lists partner accounts in the catalog, providing a summary view of all partners.
 */
export const listPartners = /*@__PURE__*/ /*#__PURE__*/ API.makePaginated(() => ({
    input: ListPartnersRequest,
    output: ListPartnersResponse,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ThrottlingException,
        ValidationException,
    ],
    pagination: {
        inputToken: "NextToken",
        outputToken: "NextToken",
        items: "PartnerSummaryList",
    },
}));
/**
 * Associates an email domain with AWS training and certification for the partner account, enabling automatic verification of employee certifications.
 */
export const associateAwsTrainingCertificationEmailDomain = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: AssociateAwsTrainingCertificationEmailDomainRequest,
    output: AssociateAwsTrainingCertificationEmailDomainResponse,
    errors: [
        AccessDeniedException,
        ConflictException,
        ResourceNotFoundException,
        ServiceQuotaExceededException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Cancels an in-progress profile update task, stopping any pending changes to the partner profile.
 */
export const cancelProfileUpdateTask = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: CancelProfileUpdateTaskRequest,
    output: CancelProfileUpdateTaskResponse,
    errors: [
        AccessDeniedException,
        ConflictException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Removes the association between an email domain and AWS training and certification for the partner account.
 */
export const disassociateAwsTrainingCertificationEmailDomain = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: DisassociateAwsTrainingCertificationEmailDomainRequest,
    output: DisassociateAwsTrainingCertificationEmailDomainResponse,
    errors: [
        AccessDeniedException,
        ConflictException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Retrieves the alliance lead contact information for a partner account.
 */
export const getAllianceLeadContact = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetAllianceLeadContactRequest,
    output: GetAllianceLeadContactResponse,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Retrieves information about a specific profile update task.
 */
export const getProfileUpdateTask = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetProfileUpdateTaskRequest,
    output: GetProfileUpdateTaskResponse,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Retrieves the visibility settings for a partner profile, determining who can see the profile information.
 */
export const getProfileVisibility = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: GetProfileVisibilityRequest,
    output: GetProfileVisibilityResponse,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Creates or updates the alliance lead contact information for a partner account.
 */
export const putAllianceLeadContact = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: PutAllianceLeadContactRequest,
    output: PutAllianceLeadContactResponse,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Sets the visibility level for a partner profile, controlling who can view the profile information.
 */
export const putProfileVisibility = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: PutProfileVisibilityRequest,
    output: PutProfileVisibilityResponse,
    errors: [
        AccessDeniedException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
/**
 * Initiates a profile update task to modify partner profile information asynchronously.
 */
export const startProfileUpdateTask = /*@__PURE__*/ /*#__PURE__*/ API.make(() => ({
    input: StartProfileUpdateTaskRequest,
    output: StartProfileUpdateTaskResponse,
    errors: [
        AccessDeniedException,
        ConflictException,
        InternalServerException,
        ResourceNotFoundException,
        ThrottlingException,
        ValidationException,
    ],
}));
//# sourceMappingURL=partnercentral-account.js.map