export interface SigningMaterial {
    /** The Amazon Resource Name (ARN) of the certificates that is used to sign your code. */
    certificateArn: string;
}
export interface SignatureValidityPeriod {
    /** The numerical value of the time unit for signature validity. */
    value?: number;
    /** The time unit for signature validity. */
    type?: 'DAYS' | 'MONTHS' | 'YEARS';
}
export interface SigningConfigurationOverrides {
    /** A specified override of the default encryption algorithm that is used in a code-signing job. */
    encryptionAlgorithm?: 'RSA' | 'ECDSA';
    /** A specified override of the default hash algorithm that is used in a code-signing job. */
    hashAlgorithm?: 'SHA1' | 'SHA256';
}
export interface SigningPlatformOverrides {
    /** A signing configuration that overrides the default encryption or hash algorithm of a signing job. */
    signingConfiguration?: SigningConfigurationOverrides;
    /** A signed image is a JSON object. When overriding the default signing platform configuration, a customer can select either of two signing formats, JSONEmbedded or JSONDetached. (A third format value, J */
    signingImageFormat?: 'JSON' | 'JSONEmbedded' | 'JSONDetached';
}
export interface S3Source {
    /** Name of the S3 bucket. */
    bucketName: string;
    /** Key name of the bucket object that contains your unsigned code. */
    key: string;
    /** Version of your source image in your version enabled S3 bucket. */
    version: string;
}
export interface Source {
    /** The S3Source object. */
    s3?: S3Source;
}
export interface S3Destination {
    /** Name of the S3 bucket. */
    bucketName?: string;
    /** An S3 prefix that you can use to limit responses to those that begin with the specified prefix. */
    prefix?: string;
}
export interface Destination {
    /** The S3Destination object. */
    s3?: S3Destination;
}
export interface AddProfilePermissionInput {
    /** For cross-account signing. Grant a designated account permission to perform one or more of the following actions. Each action is associated with a specific API's operations. For more information about */
    action: string;
    /** The AWS principal receiving cross-account permissions. This may be an IAM role or another AWS account ID. */
    principal: string;
    /** The human-readable name of the signing profile. */
    profileName: string;
    /** A unique identifier for the cross-account permission statement. */
    statementId: string;
    /** The version of the signing profile. */
    profileVersion?: string;
    /** A unique identifier for the current profile revision. */
    revisionId?: string;
}
export interface CancelSigningProfileInput {
    /** The name of the signing profile to be canceled. */
    profileName: string;
}
export interface DescribeSigningJobInput {
    /** The ID of the signing job on input. */
    jobId: string;
}
export interface GetRevocationStatusInput {
    /** A list of composite signed hashes that identify certificates. A certificate identifier consists of a subject certificate TBS hash (signed by the parent CA) combined with a parent CA TBS hash (signed b */
    certificateHashes: string[];
    /** The ARN of a signing job. */
    jobArn: string;
    /** The ID of a signing platform. */
    platformId: string;
    /** The version of a signing profile. */
    profileVersionArn: string;
    /** The timestamp of the signature that validates the profile or job. */
    signatureTimestamp: string;
}
export interface GetSigningPlatformInput {
    /** The ID of the target signing platform. */
    platformId: string;
}
export interface GetSigningProfileInput {
    /** The name of the target signing profile. */
    profileName: string;
    /** The AWS account ID of the profile owner. */
    profileOwner?: string;
}
export interface ListProfilePermissionsInput {
    /** Name of the signing profile containing the cross-account permissions. */
    profileName: string;
    /** String for specifying the next set of paginated results. */
    nextToken?: string;
}
export interface ListSigningJobsInput {
    /** Filters results to return only signing jobs with revoked signatures. */
    isRevoked?: boolean;
    /** Filters results to return only signing jobs initiated by a specified IAM entity. */
    jobInvoker?: string;
    /** Specifies the maximum number of items to return in the response. Use this parameter when paginating results. If additional items exist beyond the number you specify, the nextToken element is set in th */
    maxResults?: number;
    /** String for specifying the next set of paginated results to return. After you receive a response with truncated results, use this parameter in a subsequent request. Set it to the value of nextToken fro */
    nextToken?: string;
    /** The ID of microcontroller platform that you specified for the distribution of your code image. */
    platformId?: string;
    /** The IAM principal that requested the signing job. */
    requestedBy?: string;
    /** Filters results to return only signing jobs with signatures expiring after a specified timestamp. */
    signatureExpiresAfter?: string;
    /** Filters results to return only signing jobs with signatures expiring before a specified timestamp. */
    signatureExpiresBefore?: string;
    /** A status value with which to filter your results. */
    status?: 'InProgress' | 'Failed' | 'Succeeded';
}
export interface ListSigningPlatformsInput {
    /** The category type of a signing platform. */
    category?: string;
    /** The maximum number of results to be returned by this operation. */
    maxResults?: number;
    /** Value for specifying the next set of paginated results to return. After you receive a response with truncated results, use this parameter in a subsequent request. Set it to the value of nextToken from */
    nextToken?: string;
    /** Any partner entities connected to a signing platform. */
    partner?: string;
    /** The validation template that is used by the target signing platform. */
    target?: string;
}
export interface ListSigningProfilesInput {
    /** Designates whether to include profiles with the status of CANCELED. */
    includeCanceled?: boolean;
    /** The maximum number of profiles to be returned. */
    maxResults?: number;
    /** Value for specifying the next set of paginated results to return. After you receive a response with truncated results, use this parameter in a subsequent request. Set it to the value of nextToken from */
    nextToken?: string;
    /** Filters results to return only signing jobs initiated for a specified signing platform. */
    platformId?: string;
    /** Filters results to return only signing jobs with statuses in the specified list. */
    statuses?: 'Active' | 'Canceled' | 'Revoked'[];
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) for the signing profile. */
    resourceArn: string;
}
export interface PutSigningProfileInput {
    /** The ID of the signing platform to be created. */
    platformId: string;
    /** The name of the signing profile to be created. */
    profileName: string;
    /** A subfield of platform. This specifies any different configuration options that you want to apply to the chosen platform (such as a different hash-algorithm or signing-algorithm). */
    overrides?: SigningPlatformOverrides;
    /** The default validity period override for any signature generated using this signing profile. If unspecified, the default is 135 months. */
    signatureValidityPeriod?: SignatureValidityPeriod;
    /** The AWS Certificate Manager certificate that will be used to sign code with the new signing profile. */
    signingMaterial?: SigningMaterial;
    /** Map of key-value pairs for signing. These can include any information that you want to use during signing. */
    signingParameters?: Record<string, string>;
    /** Tags to be associated with the signing profile that is being created. */
    tags?: Record<string, string>;
}
export interface RemoveProfilePermissionInput {
    /** A human-readable name for the signing profile with permissions to be removed. */
    profileName: string;
    /** An identifier for the current revision of the signing profile permissions. */
    revisionId: string;
    /** A unique identifier for the cross-account permissions statement. */
    statementId: string;
}
export interface RevokeSignatureInput {
    /** ID of the signing job to be revoked. */
    jobId: string;
    /** The reason for revoking the signing job. */
    reason: string;
    /** AWS account ID of the job owner. */
    jobOwner?: string;
}
export interface RevokeSigningProfileInput {
    /** A timestamp for when revocation of a Signing Profile should become effective. Signatures generated using the signing profile after this timestamp are not trusted. */
    effectiveTime: string;
    /** The name of the signing profile to be revoked. */
    profileName: string;
    /** The version of the signing profile to be revoked. */
    profileVersion: string;
    /** The reason for revoking a signing profile. */
    reason: string;
}
export interface SignPayloadInput {
    /** Specifies the object digest (hash) to sign. */
    payload: string;
    /** Payload content type. The single valid type is application/vnd.cncf.notary.payload.v1+json. */
    payloadFormat: string;
    /** The name of the signing profile. */
    profileName: string;
    /** The AWS account ID of the profile owner. */
    profileOwner?: string;
}
export interface StartSigningJobInput {
    /** String that identifies the signing request. All calls after the first that use this token return the same response as the first call. */
    clientRequestToken: string;
    /** The S3 bucket in which to save your signed object. The destination contains the name of your bucket and an optional prefix. */
    destination: Destination;
    /** The name of the signing profile. */
    profileName: string;
    /** The S3 bucket that contains the object to sign or a BLOB that contains your raw code. */
    source: Source;
    /** The AWS account ID of the signing profile owner. */
    profileOwner?: string;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) for the signing profile. */
    resourceArn: string;
    /** One or more tags to be associated with the signing profile. */
    tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) for the signing profile. */
    resourceArn: string;
    /** A list of tag keys to be removed from the signing profile. */
    tagKeys: string[];
}
/** signer service binding for Step Functions SDK integrations. */
export declare class signer {
    constructor();
    addProfilePermission<T>(params: AddProfilePermissionInput): Promise<T>;
    cancelSigningProfile<T>(params: CancelSigningProfileInput): Promise<T>;
    describeSigningJob<T>(params: DescribeSigningJobInput): Promise<T>;
    getRevocationStatus<T>(params: GetRevocationStatusInput): Promise<T>;
    getSigningPlatform<T>(params: GetSigningPlatformInput): Promise<T>;
    getSigningProfile<T>(params: GetSigningProfileInput): Promise<T>;
    listProfilePermissions<T>(params: ListProfilePermissionsInput): Promise<T>;
    listSigningJobs<T>(params: ListSigningJobsInput): Promise<T>;
    listSigningPlatforms<T>(params: ListSigningPlatformsInput): Promise<T>;
    listSigningProfiles<T>(params: ListSigningProfilesInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    putSigningProfile<T>(params: PutSigningProfileInput): Promise<T>;
    removeProfilePermission<T>(params: RemoveProfilePermissionInput): Promise<T>;
    revokeSignature<T>(params: RevokeSignatureInput): Promise<T>;
    revokeSigningProfile<T>(params: RevokeSigningProfileInput): Promise<T>;
    signPayload<T>(params: SignPayloadInput): Promise<T>;
    startSigningJob<T>(params: StartSigningJobInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
}
//# sourceMappingURL=signer.d.ts.map