export interface ImageIdentifier {
    /** The sha256 digest of the image manifest. */
    imageDigest?: string;
    /** The tag that's used for the image. */
    imageTag?: string;
}
export interface RepositoryCatalogDataInput {
    /** A short description of the contents of the repository. This text appears in both the image details and also when searching for repositories on the Amazon ECR Public Gallery. */
    description?: string;
    /** The system architecture that the images in the repository are compatible with. On the Amazon ECR Public Gallery, the following supported architectures appear as badges on the repository and are used a */
    architectures?: string[];
    /** The operating systems that the images in the repository are compatible with. On the Amazon ECR Public Gallery, the following supported operating systems appear as badges on the repository and are used */
    operatingSystems?: string[];
    /** The base64-encoded repository logo payload. The repository logo is only publicly visible in the Amazon ECR Public Gallery for verified accounts. */
    logoImageBlob?: string;
    /** A detailed description of the contents of the repository. It's publicly visible in the Amazon ECR Public Gallery. The text must be in markdown format. */
    aboutText?: string;
    /** Detailed information about how to use the contents of the repository. It's publicly visible in the Amazon ECR Public Gallery. The usage text provides context, support information, and additional usage */
    usageText?: string;
}
export interface Tag {
    /** One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values. */
    Key?: string;
    /** The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key). */
    Value?: string;
}
export interface BatchCheckLayerAvailabilityInput {
    /** The digests of the image layers to check. */
    layerDigests: string[];
    /** The name of the repository that's associated with the image layers to check. */
    repositoryName: string;
    /** The Amazon Web Services account ID, or registry alias, associated with the public registry that contains the image layers to check. If you do not specify a registry, the default public registry is ass */
    registryId?: string;
}
export interface BatchDeleteImageInput {
    /** A list of image ID references that correspond to images to delete. The format of the imageIds reference is imageTag=tag or imageDigest=digest. */
    imageIds: ImageIdentifier[];
    /** The repository in a public registry that contains the image to delete. */
    repositoryName: string;
    /** The Amazon Web Services account ID, or registry alias, that's associated with the registry that contains the image to delete. If you do not specify a registry, the default public registry is assumed. */
    registryId?: string;
}
export interface CompleteLayerUploadInput {
    /** The sha256 digest of the image layer. */
    layerDigests: string[];
    /** The name of the repository in a public registry to associate with the image layer. */
    repositoryName: string;
    /** The upload ID from a previous InitiateLayerUpload operation to associate with the image layer. */
    uploadId: string;
    /** The Amazon Web Services account ID, or registry alias, associated with the registry where layers are uploaded. If you do not specify a registry, the default public registry is assumed. */
    registryId?: string;
}
export interface CreateRepositoryInput {
    /** The name to use for the repository. This appears publicly in the Amazon ECR Public Gallery. The repository name can be specified on its own (for example nginx-web-app) or prepended with a namespace to */
    repositoryName: string;
    /** The details about the repository that are publicly visible in the Amazon ECR Public Gallery. */
    catalogData?: RepositoryCatalogDataInput;
    /** The metadata that you apply to each repository to help categorize and organize your repositories. Each tag consists of a key and an optional value. You define both of them. Tag keys can have a maximum */
    tags?: Tag[];
}
export interface DeleteRepositoryInput {
    /** The name of the repository to delete. */
    repositoryName: string;
    /** The force option can be used to delete a repository that contains images. If the force option is not used, the repository must be empty prior to deletion. */
    force?: boolean;
    /** The Amazon Web Services account ID that's associated with the public registry that contains the repository to delete. If you do not specify a registry, the default public registry is assumed. */
    registryId?: string;
}
export interface DeleteRepositoryPolicyInput {
    /** The name of the repository that's associated with the repository policy to delete. */
    repositoryName: string;
    /** The Amazon Web Services account ID that's associated with the public registry that contains the repository policy to delete. If you do not specify a registry, the default public registry is assumed. */
    registryId?: string;
}
export interface DescribeImagesInput {
    /** The repository that contains the images to describe. */
    repositoryName: string;
    /** The list of image IDs for the requested repository. */
    imageIds?: ImageIdentifier[];
    /** The maximum number of repository results that's returned by DescribeImages in paginated output. When this parameter is used, DescribeImages only returns maxResults results in a single page along with  */
    maxResults?: number;
    /** The nextToken value that's returned from a previous paginated DescribeImages request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end o */
    nextToken?: string;
    /** The Amazon Web Services account ID that's associated with the public registry that contains the repository where images are described. If you do not specify a registry, the default public registry is  */
    registryId?: string;
}
export interface DescribeImageTagsInput {
    /** The name of the repository that contains the image tag details to describe. */
    repositoryName: string;
    /** The maximum number of repository results that's returned by DescribeImageTags in paginated output. When this parameter is used, DescribeImageTags only returns maxResults results in a single page along */
    maxResults?: number;
    /** The nextToken value that's returned from a previous paginated DescribeImageTags request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the en */
    nextToken?: string;
    /** The Amazon Web Services account ID that's associated with the public registry that contains the repository where images are described. If you do not specify a registry, the default public registry is  */
    registryId?: string;
}
export interface DescribeRegistriesInput {
    /** The maximum number of repository results that's returned by DescribeRegistries in paginated output. When this parameter is used, DescribeRegistries only returns maxResults results in a single page alo */
    maxResults?: number;
    /** The nextToken value that's returned from a previous paginated DescribeRegistries request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the e */
    nextToken?: string;
}
export interface DescribeRepositoriesInput {
    /** The maximum number of repository results that's returned by DescribeRepositories in paginated output. When this parameter is used, DescribeRepositories only returns maxResults results in a single page */
    maxResults?: number;
    /** The nextToken value that's returned from a previous paginated DescribeRepositories request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the */
    nextToken?: string;
    /** The Amazon Web Services account ID that's associated with the registry that contains the repositories to be described. If you do not specify a registry, the default public registry is assumed. */
    registryId?: string;
    /** A list of repositories to describe. If this parameter is omitted, then all repositories in a registry are described. */
    repositoryNames?: string[];
}
export interface GetRepositoryCatalogDataInput {
    /** The name of the repository to retrieve the catalog metadata for. */
    repositoryName: string;
    /** The Amazon Web Services account ID that's associated with the registry that contains the repositories to be described. If you do not specify a registry, the default public registry is assumed. */
    registryId?: string;
}
export interface GetRepositoryPolicyInput {
    /** The name of the repository with the policy to retrieve. */
    repositoryName: string;
    /** The Amazon Web Services account ID that's associated with the public registry that contains the repository. If you do not specify a registry, the default public registry is assumed. */
    registryId?: string;
}
export interface InitiateLayerUploadInput {
    /** The name of the repository that you want to upload layers to. */
    repositoryName: string;
    /** The Amazon Web Services account ID, or registry alias, that's associated with the registry to which you intend to upload layers. If you do not specify a registry, the default public registry is assume */
    registryId?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) that identifies the resource to list the tags for. Currently, the supported resource is an Amazon ECR Public repository. */
    resourceArn: string;
}
export interface PutImageInput {
    /** The image manifest that corresponds to the image to be uploaded. */
    imageManifest: string;
    /** The name of the repository where the image is put. */
    repositoryName: string;
    /** The image digest of the image manifest that corresponds to the image. */
    imageDigest?: string;
    /** The media type of the image manifest. If you push an image manifest that doesn't contain the mediaType field, you must specify the imageManifestMediaType in the request. */
    imageManifestMediaType?: string;
    /** The tag to associate with the image. This parameter is required for images that use the Docker Image Manifest V2 Schema 2 or Open Container Initiative (OCI) formats. */
    imageTag?: string;
    /** The Amazon Web Services account ID, or registry alias, that's associated with the public registry that contains the repository where the image is put. If you do not specify a registry, the default pub */
    registryId?: string;
}
export interface PutRegistryCatalogDataInput {
    /** The display name for a public registry. The display name is shown as the repository author in the Amazon ECR Public Gallery. The registry display name is only publicly visible in the Amazon ECR Public */
    displayName?: string;
}
export interface PutRepositoryCatalogDataInput {
    /** An object containing the catalog data for a repository. This data is publicly visible in the Amazon ECR Public Gallery. */
    catalogData: RepositoryCatalogDataInput;
    /** The name of the repository to create or update the catalog data for. */
    repositoryName: string;
    /** The Amazon Web Services account ID that's associated with the public registry the repository is in. If you do not specify a registry, the default public registry is assumed. */
    registryId?: string;
}
export interface SetRepositoryPolicyInput {
    /** The JSON repository policy text to apply to the repository. For more information, see Amazon ECR Repository Policies in the Amazon Elastic Container Registry User Guide. */
    policyText: string;
    /** The name of the repository to receive the policy. */
    repositoryName: string;
    /** If the policy that you want to set on a repository policy would prevent you from setting another policy in the future, you must force the SetRepositoryPolicy operation. This prevents accidental reposi */
    force?: boolean;
    /** The Amazon Web Services account ID that's associated with the registry that contains the repository. If you do not specify a registry, the default public registry is assumed. */
    registryId?: string;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource to add tags to. Currently, the supported resource is an Amazon ECR Public repository. */
    resourceArn: string;
    /** The tags to add to the resource. A tag is an array of key-value pairs. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters. */
    tags: Tag[];
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource to delete tags from. Currently, the supported resource is an Amazon ECR Public repository. */
    resourceArn: string;
    /** The keys of the tags to be removed. */
    tagKeys: string[];
}
export interface UploadLayerPartInput {
    /** The base64-encoded layer part payload. */
    layerPartBlob: string;
    /** The position of the first byte of the layer part witin the overall image layer. */
    partFirstByte: number;
    /** The position of the last byte of the layer part within the overall image layer. */
    partLastByte: number;
    /** The name of the repository that you're uploading layer parts to. */
    repositoryName: string;
    /** The upload ID from a previous InitiateLayerUpload operation to associate with the layer part upload. */
    uploadId: string;
    /** The Amazon Web Services account ID, or registry alias, that's associated with the registry that you're uploading layer parts to. If you do not specify a registry, the default public registry is assume */
    registryId?: string;
}
/** ECR PUBLIC service binding for Step Functions SDK integrations. */
export declare class ECRPUBLIC {
    constructor();
    batchCheckLayerAvailability<T>(params: BatchCheckLayerAvailabilityInput): Promise<T>;
    batchDeleteImage<T>(params: BatchDeleteImageInput): Promise<T>;
    completeLayerUpload<T>(params: CompleteLayerUploadInput): Promise<T>;
    createRepository<T>(params: CreateRepositoryInput): Promise<T>;
    deleteRepository<T>(params: DeleteRepositoryInput): Promise<T>;
    deleteRepositoryPolicy<T>(params: DeleteRepositoryPolicyInput): Promise<T>;
    describeImages<T>(params: DescribeImagesInput): Promise<T>;
    describeImageTags<T>(params: DescribeImageTagsInput): Promise<T>;
    describeRegistries<T>(params: DescribeRegistriesInput): Promise<T>;
    describeRepositories<T>(params: DescribeRepositoriesInput): Promise<T>;
    getAuthorizationToken<T>(params: Record<string, any>): Promise<T>;
    getRegistryCatalogData<T>(params: Record<string, any>): Promise<T>;
    getRepositoryCatalogData<T>(params: GetRepositoryCatalogDataInput): Promise<T>;
    getRepositoryPolicy<T>(params: GetRepositoryPolicyInput): Promise<T>;
    initiateLayerUpload<T>(params: InitiateLayerUploadInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    putImage<T>(params: PutImageInput): Promise<T>;
    putRegistryCatalogData<T>(params: PutRegistryCatalogDataInput): Promise<T>;
    putRepositoryCatalogData<T>(params: PutRepositoryCatalogDataInput): Promise<T>;
    setRepositoryPolicy<T>(params: SetRepositoryPolicyInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    uploadLayerPart<T>(params: UploadLayerPartInput): Promise<T>;
}
//# sourceMappingURL=ECRPUBLIC.d.ts.map