import type { ExceptionOptionType as __ExceptionOptionType } from "@smithy/core/client";
import { EKSServiceException as __BaseException } from "./EKSServiceException";
/**
 * <p>You don't have permissions to perform the requested operation. The <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html">IAM principal</a>
 *             making the request must have at least one IAM permissions policy attached that grants
 *             the required permissions. For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html">Access
 *                 management</a> in the <i>IAM User Guide</i>. </p>
 * @public
 */
export declare class AccessDeniedException extends __BaseException {
    readonly name: "AccessDeniedException";
    readonly $fault: "client";
    /**
     * @internal
     */
    constructor(opts: __ExceptionOptionType<AccessDeniedException, __BaseException>);
}
/**
 * <p>The specified parameter is invalid. Review the available parameters for the API
 *             request.</p>
 * @public
 */
export declare class InvalidParameterException extends __BaseException {
    readonly name: "InvalidParameterException";
    readonly $fault: "client";
    /**
     * <p>The Amazon EKS cluster associated with the exception.</p>
     * @public
     */
    clusterName?: string | undefined;
    /**
     * <p>The Amazon EKS managed node group associated with the exception.</p>
     * @public
     */
    nodegroupName?: string | undefined;
    /**
     * <p>The Fargate profile associated with the exception.</p>
     * @public
     */
    fargateProfileName?: string | undefined;
    /**
     * <p>The specified parameter for the add-on name is invalid. Review the available
     *             parameters for the API request</p>
     * @public
     */
    addonName?: string | undefined;
    /**
     * <p>The Amazon EKS subscription ID with the exception.</p>
     * @public
     */
    subscriptionId?: string | undefined;
    /**
     * @internal
     */
    constructor(opts: __ExceptionOptionType<InvalidParameterException, __BaseException>);
}
/**
 * <p>The request is invalid given the state of the cluster. Check the state of the cluster
 *             and the associated operations.</p>
 * @public
 */
export declare class InvalidRequestException extends __BaseException {
    readonly name: "InvalidRequestException";
    readonly $fault: "client";
    /**
     * <p>The Amazon EKS cluster associated with the exception.</p>
     * @public
     */
    clusterName?: string | undefined;
    /**
     * <p>The Amazon EKS managed node group associated with the exception.</p>
     * @public
     */
    nodegroupName?: string | undefined;
    /**
     * <p>The request is invalid given the state of the add-on name. Check the state of the
     *             cluster and the associated operations.</p>
     * @public
     */
    addonName?: string | undefined;
    /**
     * <p>The Amazon EKS subscription ID with the exception.</p>
     * @public
     */
    subscriptionId?: string | undefined;
    /**
     * @internal
     */
    constructor(opts: __ExceptionOptionType<InvalidRequestException, __BaseException>);
}
/**
 * <p>The specified resource could not be found. You can view your available clusters with
 *                 <code>ListClusters</code>. You can view your available managed node groups with
 *                 <code>ListNodegroups</code>. Amazon EKS clusters and node groups are Amazon Web Services Region
 *             specific.</p>
 * @public
 */
export declare class ResourceNotFoundException extends __BaseException {
    readonly name: "ResourceNotFoundException";
    readonly $fault: "client";
    /**
     * <p>The Amazon EKS cluster associated with the exception.</p>
     * @public
     */
    clusterName?: string | undefined;
    /**
     * <p>The Amazon EKS managed node group associated with the exception.</p>
     * @public
     */
    nodegroupName?: string | undefined;
    /**
     * <p>The Fargate profile associated with the exception.</p>
     * @public
     */
    fargateProfileName?: string | undefined;
    /**
     * <p>The Amazon EKS add-on name associated with the exception.</p>
     * @public
     */
    addonName?: string | undefined;
    /**
     * <p>The Amazon EKS subscription ID with the exception.</p>
     * @public
     */
    subscriptionId?: string | undefined;
    /**
     * @internal
     */
    constructor(opts: __ExceptionOptionType<ResourceNotFoundException, __BaseException>);
}
/**
 * <p>These errors are usually caused by a server-side issue.</p>
 * @public
 */
export declare class ServerException extends __BaseException {
    readonly name: "ServerException";
    readonly $fault: "server";
    /**
     * <p>The Amazon EKS cluster associated with the exception.</p>
     * @public
     */
    clusterName?: string | undefined;
    /**
     * <p>The Amazon EKS managed node group associated with the exception.</p>
     * @public
     */
    nodegroupName?: string | undefined;
    /**
     * <p>The Amazon EKS add-on name associated with the exception.</p>
     * @public
     */
    addonName?: string | undefined;
    /**
     * <p>The Amazon EKS subscription ID with the exception.</p>
     * @public
     */
    subscriptionId?: string | undefined;
    /**
     * @internal
     */
    constructor(opts: __ExceptionOptionType<ServerException, __BaseException>);
}
/**
 * <p>These errors are usually caused by a client action. Actions can include using an
 *             action or resource on behalf of an <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html">IAM principal</a> that doesn't have permissions to use
 *             the action or resource or specifying an identifier that is not valid.</p>
 * @public
 */
export declare class ClientException extends __BaseException {
    readonly name: "ClientException";
    readonly $fault: "client";
    /**
     * <p>The Amazon EKS cluster associated with the exception.</p>
     * @public
     */
    clusterName?: string | undefined;
    /**
     * <p>The Amazon EKS managed node group associated with the exception.</p>
     * @public
     */
    nodegroupName?: string | undefined;
    /**
     * <p>The Amazon EKS add-on name associated with the exception.</p>
     * @public
     */
    addonName?: string | undefined;
    /**
     * <p>The Amazon EKS subscription ID with the exception.</p>
     * @public
     */
    subscriptionId?: string | undefined;
    /**
     * @internal
     */
    constructor(opts: __ExceptionOptionType<ClientException, __BaseException>);
}
/**
 * <p>The specified resource is in use.</p>
 * @public
 */
export declare class ResourceInUseException extends __BaseException {
    readonly name: "ResourceInUseException";
    readonly $fault: "client";
    /**
     * <p>The Amazon EKS cluster associated with the exception.</p>
     * @public
     */
    clusterName?: string | undefined;
    /**
     * <p>The Amazon EKS managed node group associated with the exception.</p>
     * @public
     */
    nodegroupName?: string | undefined;
    /**
     * <p>The specified add-on name is in use.</p>
     * @public
     */
    addonName?: string | undefined;
    /**
     * @internal
     */
    constructor(opts: __ExceptionOptionType<ResourceInUseException, __BaseException>);
}
/**
 * <p>The request or operation couldn't be performed because a service is throttling
 *             requests.</p>
 * @public
 */
export declare class ThrottlingException extends __BaseException {
    readonly name: "ThrottlingException";
    readonly $fault: "client";
    /**
     * <p>The Amazon EKS cluster associated with the exception.</p>
     * @public
     */
    clusterName?: string | undefined;
    /**
     * @internal
     */
    constructor(opts: __ExceptionOptionType<ThrottlingException, __BaseException>);
}
/**
 * <p>You have encountered a service limit on the specified resource.</p>
 * @public
 */
export declare class ResourceLimitExceededException extends __BaseException {
    readonly name: "ResourceLimitExceededException";
    readonly $fault: "client";
    /**
     * <p>The Amazon EKS cluster associated with the exception.</p>
     * @public
     */
    clusterName?: string | undefined;
    /**
     * <p>The Amazon EKS managed node group associated with the exception.</p>
     * @public
     */
    nodegroupName?: string | undefined;
    /**
     * <p>The Amazon EKS subscription ID with the exception.</p>
     * @public
     */
    subscriptionId?: string | undefined;
    /**
     * @internal
     */
    constructor(opts: __ExceptionOptionType<ResourceLimitExceededException, __BaseException>);
}
/**
 * <p>The service is unavailable. Back off and retry the operation.</p>
 * @public
 */
export declare class ServiceUnavailableException extends __BaseException {
    readonly name: "ServiceUnavailableException";
    readonly $fault: "server";
    /**
     * @internal
     */
    constructor(opts: __ExceptionOptionType<ServiceUnavailableException, __BaseException>);
}
/**
 * <p>At least one of your specified cluster subnets is in an Availability Zone that does not support
 *             Amazon EKS. The exception output specifies the supported Availability Zones for your account, from which
 *             you can choose subnets for your cluster.</p>
 * @public
 */
export declare class UnsupportedAvailabilityZoneException extends __BaseException {
    readonly name: "UnsupportedAvailabilityZoneException";
    readonly $fault: "client";
    /**
     * <p>The Amazon EKS cluster associated with the exception.</p>
     * @public
     */
    clusterName?: string | undefined;
    /**
     * <p>The Amazon EKS managed node group associated with the exception.</p>
     * @public
     */
    nodegroupName?: string | undefined;
    /**
     * <p>The supported Availability Zones for your account. Choose subnets in these Availability Zones for your
     *             cluster.</p>
     * @public
     */
    validZones?: string[] | undefined;
    /**
     * @internal
     */
    constructor(opts: __ExceptionOptionType<UnsupportedAvailabilityZoneException, __BaseException>);
}
/**
 * <p>This exception is thrown if the request contains a semantic error. The precise meaning
 *             will depend on the API, and will be documented in the error message.</p>
 * @public
 */
export declare class BadRequestException extends __BaseException {
    readonly name: "BadRequestException";
    readonly $fault: "client";
    /**
     * @internal
     */
    constructor(opts: __ExceptionOptionType<BadRequestException, __BaseException>);
}
/**
 * <p>A service resource associated with the request could not be found. Clients should not
 *             retry such requests.</p>
 * @public
 */
export declare class NotFoundException extends __BaseException {
    readonly name: "NotFoundException";
    readonly $fault: "client";
    /**
     * @internal
     */
    constructor(opts: __ExceptionOptionType<NotFoundException, __BaseException>);
}
/**
 * <p>Required resources (such as service-linked roles) were created and are still
 *             propagating. Retry later.</p>
 * @public
 */
export declare class ResourcePropagationDelayException extends __BaseException {
    readonly name: "ResourcePropagationDelayException";
    readonly $fault: "client";
    /**
     * @internal
     */
    constructor(opts: __ExceptionOptionType<ResourcePropagationDelayException, __BaseException>);
}
/**
 * <p>Amazon EKS detected upgrade readiness issues. Call the <a href="https://docs.aws.amazon.com/eks/latest/APIReference/API_ListInsights.html">
 *                <code>ListInsights</code>
 *             </a> API to view detected upgrade blocking issues.
 *             Pass the <a href="https://docs.aws.amazon.com/eks/latest/APIReference/API_UpdateClusterVersion.html#API_UpdateClusterVersion_RequestBody">
 *                <code>force</code>
 *             </a> flag when updating to override upgrade readiness
 *             errors.</p>
 * @public
 */
export declare class InvalidStateException extends __BaseException {
    readonly name: "InvalidStateException";
    readonly $fault: "client";
    /**
     * <p>The Amazon EKS cluster associated with the exception.</p>
     * @public
     */
    clusterName?: string | undefined;
    /**
     * @internal
     */
    constructor(opts: __ExceptionOptionType<InvalidStateException, __BaseException>);
}
