export interface KmsEncryptionConfig {
    /** The type of customer-managed-key (CMK) used for encryption. */
    CmkType: 'CUSTOMER_MANAGED_KMS_KEY' | 'AWS_OWNED_KMS_KEY';
    /** The Key Management Service (KMS) encryption key id/alias used to encrypt the data store contents at rest. */
    KmsKeyId?: string;
}
export interface SseConfiguration {
    /** The Key Management Service (KMS) encryption configuration used to provide details for data encryption. */
    KmsEncryptionConfig: KmsEncryptionConfig;
}
export interface PreloadDataConfig {
    /** The type of preloaded data. Only Synthea preloaded data is supported. */
    PreloadDataType: 'SYNTHEA';
}
export interface Tag {
    /** The key portion of a tag. Tag keys are case sensitive. */
    Key: string;
    /** The value portion of a tag. Tag values are case-sensitive. */
    Value: string;
}
export interface IdentityProviderConfiguration {
    /** The authorization strategy selected when the HealthLake data store is created. HealthLake provides support for both SMART on FHIR V1 and V2 as described below. SMART_ON_FHIR_V1 – Support for only SMAR */
    AuthorizationStrategy: 'SMART_ON_FHIR_V1' | 'SMART_ON_FHIR' | 'AWS_AUTH';
    /** The parameter to enable SMART on FHIR fine-grained authorization for the data store. */
    FineGrainedAuthorizationEnabled?: boolean;
    /** The JSON metadata elements to use in your identity provider configuration. Required elements are listed based on the launch specification of the SMART application. For more information on all possible */
    Metadata?: string;
    /** The Amazon Resource Name (ARN) of the Lambda function to use to decode the access token created by the authorization server. */
    IdpLambdaArn?: string;
}
export interface DatastoreFilter {
    /** Filter data store results by name. */
    DatastoreName?: string;
    /** Filter data store results by status. */
    DatastoreStatus?: 'CREATING' | 'ACTIVE' | 'DELETING' | 'DELETED' | 'CREATE_FAILED';
    /** Filter to set cutoff dates for records. All data stores created before the specified date are included in the results. */
    CreatedBefore?: string;
    /** Filter to set cutoff dates for records. All data stores created after the specified date are included in the results. */
    CreatedAfter?: string;
}
export interface S3Configuration {
    /** The S3Uri is the user-specified S3 location of the FHIR data to be imported into AWS HealthLake. */
    S3Uri: string;
    /** The Key Management Service (KMS) key ID used to access the S3 bucket. */
    KmsKeyId: string;
}
export interface CreateFHIRDatastoreInput {
    /** The FHIR release version supported by the data store. Current support is for version R4. */
    DatastoreTypeVersion: 'R4';
    /** An optional user-provided token to ensure API idempotency. */
    ClientToken?: string;
    /** The data store name (user-generated). */
    DatastoreName?: string;
    /** The identity provider configuration to use for the data store. */
    IdentityProviderConfiguration?: IdentityProviderConfiguration;
    /** An optional parameter to preload (import) open source Synthea FHIR data upon creation of the data store. */
    PreloadDataConfig?: PreloadDataConfig;
    /** The server-side encryption key configuration for a customer-provided encryption key specified for creating a data store. */
    SseConfiguration?: SseConfiguration;
    /** The resource tags applied to a data store when it is created. */
    Tags?: Tag[];
}
export interface DeleteFHIRDatastoreInput {
    /** The AWS-generated identifier for the data store to be deleted. */
    DatastoreId: string;
}
export interface DescribeFHIRDatastoreInput {
    /** The data store identifier. */
    DatastoreId: string;
}
export interface DescribeFHIRExportJobInput {
    /** The data store identifier from which FHIR data is being exported from. */
    DatastoreId: string;
    /** The export job identifier. */
    JobId: string;
}
export interface DescribeFHIRImportJobInput {
    /** The data store identifier. */
    DatastoreId: string;
    /** The import job identifier. */
    JobId: string;
}
export interface ListFHIRDatastoresInput {
    /** List all filters associated with a FHIR data store request. */
    Filter?: DatastoreFilter;
    /** The maximum number of data stores returned on a page. */
    MaxResults?: number;
    /** The token used to retrieve the next page of data stores when results are paginated. */
    NextToken?: string;
}
export interface ListFHIRExportJobsInput {
    /** Limits the response to the export job with the specified data store ID. */
    DatastoreId: string;
    /** Limits the response to the export job with the specified job name. */
    JobName?: string;
    /** Limits the response to export jobs with the specified job status. */
    JobStatus?: 'SUBMITTED' | 'QUEUED' | 'IN_PROGRESS' | 'COMPLETED_WITH_ERRORS' | 'COMPLETED' | 'FAILED' | 'CANCEL_SUBMITTED' | 'CANCEL_IN_PROGRESS' | 'CANCEL_COMPLETED' | 'CANCEL_FAILED';
    /** Limits the number of results returned for a ListFHIRExportJobs to a maximum quantity specified by the user. */
    MaxResults?: number;
    /** A pagination token used to identify the next page of results to return. */
    NextToken?: string;
    /** Limits the response to FHIR export jobs submitted after a user-specified date. */
    SubmittedAfter?: string;
    /** Limits the response to FHIR export jobs submitted before a user- specified date. */
    SubmittedBefore?: string;
}
export interface ListFHIRImportJobsInput {
    /** Limits the response to the import job with the specified data store ID. */
    DatastoreId: string;
    /** Limits the response to the import job with the specified job name. */
    JobName?: string;
    /** Limits the response to the import job with the specified job status. */
    JobStatus?: 'SUBMITTED' | 'QUEUED' | 'IN_PROGRESS' | 'COMPLETED_WITH_ERRORS' | 'COMPLETED' | 'FAILED' | 'CANCEL_SUBMITTED' | 'CANCEL_IN_PROGRESS' | 'CANCEL_COMPLETED' | 'CANCEL_FAILED';
    /** Limits the number of results returned for ListFHIRImportJobs to a maximum quantity specified by the user. */
    MaxResults?: number;
    /** The pagination token used to identify the next page of results to return. */
    NextToken?: string;
    /** Limits the response to FHIR import jobs submitted after a user-specified date. */
    SubmittedAfter?: string;
    /** Limits the response to FHIR import jobs submitted before a user- specified date. */
    SubmittedBefore?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the data store to which tags are being added. */
    ResourceARN: string;
}
export interface StartFHIRExportJobInput {
    /** The Amazon Resource Name (ARN) used during initiation of the export job. */
    DataAccessRoleArn: string;
    /** The data store identifier from which files are being exported. */
    DatastoreId: string;
    /** The output data configuration supplied when the export job was started. */
    OutputDataConfig: {
        S3Configuration?: S3Configuration;
    };
    /** An optional user provided token used for ensuring API idempotency. */
    ClientToken?: string;
    /** The export job name. */
    JobName?: string;
}
export interface StartFHIRImportJobInput {
    /** The Amazon Resource Name (ARN) that grants access permission to AWS HealthLake. */
    DataAccessRoleArn: string;
    /** The data store identifier. */
    DatastoreId: string;
    /** The input properties for the import job request. */
    InputDataConfig: {
        S3Uri?: string;
    };
    JobOutputDataConfig: {
        S3Configuration?: S3Configuration;
    };
    /** The optional user-provided token used for ensuring API idempotency. */
    ClientToken?: string;
    /** The import job name. */
    JobName?: string;
    /** The validation level of the import job. */
    ValidationLevel?: 'strict' | 'structure-only' | 'minimal';
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) that grants access to the data store tags are being added to. */
    ResourceARN: string;
    /** The user-specified key and value pair tags being added to a data store. */
    Tags: Tag[];
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the data store from which tags are being removed. */
    ResourceARN: string;
    /** The keys for the tags to be removed from the data store. */
    TagKeys: string[];
}
/** HealthLake service binding for Step Functions SDK integrations. */
export declare class HealthLake {
    constructor();
    createFHIRDatastore<T>(params: CreateFHIRDatastoreInput): Promise<T>;
    deleteFHIRDatastore<T>(params: DeleteFHIRDatastoreInput): Promise<T>;
    describeFHIRDatastore<T>(params: DescribeFHIRDatastoreInput): Promise<T>;
    describeFHIRExportJob<T>(params: DescribeFHIRExportJobInput): Promise<T>;
    describeFHIRImportJob<T>(params: DescribeFHIRImportJobInput): Promise<T>;
    listFHIRDatastores<T>(params: ListFHIRDatastoresInput): Promise<T>;
    listFHIRExportJobs<T>(params: ListFHIRExportJobsInput): Promise<T>;
    listFHIRImportJobs<T>(params: ListFHIRImportJobsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    startFHIRExportJob<T>(params: StartFHIRExportJobInput): Promise<T>;
    startFHIRImportJob<T>(params: StartFHIRImportJobInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
}
//# sourceMappingURL=HealthLake.d.ts.map