export interface FindingIdentifier {
    /** The name of the scan that generated the finding. */
    scanName: string;
    /** The identifier for a finding. */
    findingId: string;
}
export interface EncryptionConfig {
    /** The KMS key ARN that is used for encryption. If an AWS-managed key is used for encryption, returns empty. */
    kmsKeyArn?: string;
}
export interface BatchGetFindingsInput {
    /** A list of finding identifiers. Each identifier consists of a scanName and a findingId. You retrieve the findingId when you call GetFindings. */
    findingIdentifiers: FindingIdentifier[];
}
export interface CreateScanInput {
    /** The identifier for the resource object to be scanned. */
    resourceId: {
        codeArtifactId?: string;
    };
    /** The unique name that CodeGuru Security uses to track revisions across multiple scans of the same resource. Only allowed for a STANDARD scan type. */
    scanName: string;
    /** The type of analysis you want CodeGuru Security to perform in the scan, either Security or All. The Security type only generates findings related to security. The All type generates both security find */
    analysisType?: 'Security' | 'All';
    /** The idempotency token for the request. Amazon CodeGuru Security uses this value to prevent the accidental creation of duplicate scans if there are failures and retries. */
    clientToken?: string;
    /** The type of scan, either Standard or Express. Defaults to Standard type if missing. Express scans run on limited resources and use a limited set of detectors to analyze your code in near-real time. St */
    scanType?: 'Standard' | 'Express';
    /** An array of key-value pairs used to tag a scan. A tag is a custom attribute label with two parts: A tag key. For example, CostCenter, Environment, or Secret. Tag keys are case sensitive. An optional t */
    tags?: Record<string, string>;
}
export interface CreateUploadUrlInput {
    /** The name of the scan that will use the uploaded resource. CodeGuru Security uses the unique scan name to track revisions across multiple scans of the same resource. Use this scanName when you call Cre */
    scanName: string;
}
export interface GetFindingsInput {
    /** The name of the scan you want to retrieve findings from. */
    scanName: string;
    /** The maximum number of results to return in the response. Use this parameter when paginating results. If additional results exist beyond the number you specify, the nextToken element is returned in the */
    maxResults?: number;
    /** A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the  */
    nextToken?: string;
    /** The status of the findings you want to get. Pass either Open, Closed, or All. */
    status?: 'Closed' | 'Open' | 'All';
}
export interface GetMetricsSummaryInput {
    /** The date you want to retrieve summary metrics from, rounded to the nearest day. The date must be within the past two years. */
    date: string;
}
export interface GetScanInput {
    /** The name of the scan you want to view details about. */
    scanName: string;
    /** UUID that identifies the individual scan run you want to view details about. You retrieve this when you call the CreateScan operation. Defaults to the latest scan run if missing. */
    runId?: string;
}
export interface ListFindingsMetricsInput {
    /** The end date of the interval which you want to retrieve metrics from. Round to the nearest day. */
    endDate: string;
    /** The start date of the interval which you want to retrieve metrics from. Rounds to the nearest day. */
    startDate: string;
    /** The maximum number of results to return in the response. Use this parameter when paginating results. If additional results exist beyond the number you specify, the nextToken element is returned in the */
    maxResults?: number;
    /** A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the  */
    nextToken?: string;
}
export interface ListScansInput {
    /** The maximum number of results to return in the response. Use this parameter when paginating results. If additional results exist beyond the number you specify, the nextToken element is returned in the */
    maxResults?: number;
    /** A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request. For subsequent calls, use the nextToken value returned from the  */
    nextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The ARN of the ScanName object. You can retrieve this ARN by calling CreateScan, ListScans, or GetScan. */
    resourceArn: string;
}
export interface TagResourceInput {
    /** The ARN of the ScanName object. You can retrieve this ARN by calling CreateScan, ListScans, or GetScan. */
    resourceArn: string;
    /** An array of key-value pairs used to tag an existing scan. A tag is a custom attribute label with two parts: A tag key. For example, CostCenter, Environment, or Secret. Tag keys are case sensitive. An  */
    tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** The ARN of the ScanName object. You can retrieve this ARN by calling CreateScan, ListScans, or GetScan. */
    resourceArn: string;
    /** A list of keys for each tag you want to remove from a scan. */
    tagKeys: string[];
}
export interface UpdateAccountConfigurationInput {
    /** The customer-managed KMS key ARN you want to use for encryption. If not specified, CodeGuru Security will use an AWS-managed key for encryption. If you previously specified a customer-managed KMS key  */
    encryptionConfig: EncryptionConfig;
}
/** CodeGuru Security service binding for Step Functions SDK integrations. */
export declare class CodeGuruSecurity {
    constructor();
    batchGetFindings<T>(params: BatchGetFindingsInput): Promise<T>;
    createScan<T>(params: CreateScanInput): Promise<T>;
    createUploadUrl<T>(params: CreateUploadUrlInput): Promise<T>;
    getAccountConfiguration<T>(params: Record<string, any>): Promise<T>;
    getFindings<T>(params: GetFindingsInput): Promise<T>;
    getMetricsSummary<T>(params: GetMetricsSummaryInput): Promise<T>;
    getScan<T>(params: GetScanInput): Promise<T>;
    listFindingsMetrics<T>(params: ListFindingsMetricsInput): Promise<T>;
    listScans<T>(params: ListScansInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateAccountConfiguration<T>(params: UpdateAccountConfigurationInput): Promise<T>;
}
//# sourceMappingURL=CodeGuruSecurity.d.ts.map