export interface IdMappingWorkflowInputSource {
    /** An Glue table Amazon Resource Name (ARN) or a matching workflow ARN for the input source table. */
    inputSourceARN: string;
    /** The name of the schema to be retrieved. */
    schemaName?: string;
    /** The type of ID namespace. There are two types: SOURCE and TARGET. The SOURCE contains configurations for sourceId data that will be processed in an ID mapping workflow. The TARGET contains a configura */
    type?: 'SOURCE' | 'TARGET';
}
export interface IdMappingWorkflowOutputSource {
    /** Customer KMS ARN for encryption at rest. If not provided, system will use an Entity Resolution managed KMS key. */
    KMSArn?: string;
    /** The S3 path to which Entity Resolution will write the output table. */
    outputS3Path: string;
}
export interface IdMappingRuleBasedProperties {
    /** The rules that can be used for ID mapping. */
    rules?: any[];
    /** The set of rules you can use in an ID mapping workflow. The limitations specified for the source or target to define the match rules must be compatible. */
    ruleDefinitionType: 'SOURCE' | 'TARGET';
    /** The comparison type. You can either choose ONE_TO_ONE or MANY_TO_MANY as the attributeMatchingModel. If you choose ONE_TO_ONE, the system can only match attributes if the sub-types are an exact match. */
    attributeMatchingModel: 'ONE_TO_ONE' | 'MANY_TO_MANY';
    /** The type of matching record that is allowed to be used in an ID mapping workflow. If the value is set to ONE_SOURCE_TO_ONE_TARGET, only one record in the source can be matched to the same record in th */
    recordMatchingModel: 'ONE_SOURCE_TO_ONE_TARGET' | 'MANY_SOURCE_TO_ONE_TARGET';
}
export interface ProviderProperties {
    /** The ARN of the provider service. */
    providerServiceArn: string;
    /** The required configuration fields to use with the provider service. */
    providerConfiguration?: any;
    /** The Amazon S3 location that temporarily stores your data while it processes. Your information won't be saved permanently. */
    intermediateSourceConfiguration?: any;
}
export interface IdMappingTechniques {
    /** The type of ID mapping. */
    idMappingType: 'PROVIDER' | 'RULE_BASED';
    /** An object which defines any additional configurations required by rule-based matching. */
    ruleBasedProperties?: IdMappingRuleBasedProperties;
    /** An object which defines any additional configurations required by the provider service. */
    providerProperties?: ProviderProperties;
}
export interface IdMappingIncrementalRunConfig {
    /** The incremental run type for an ID mapping workflow. It takes only one value: ON_DEMAND. This setting runs the ID mapping workflow when it's manually triggered through the StartIdMappingJob API. */
    incrementalRunType?: 'ON_DEMAND';
}
export interface IdNamespaceInputSource {
    /** An Glue table Amazon Resource Name (ARN) or a matching workflow ARN for the input source table. */
    inputSourceARN: string;
    /** The name of the schema. */
    schemaName?: string;
}
export interface IdNamespaceIdMappingWorkflowProperties {
    /** The type of ID mapping. */
    idMappingType: 'PROVIDER' | 'RULE_BASED';
    /** An object which defines any additional configurations required by rule-based matching. */
    ruleBasedProperties?: any;
    /** An object which defines any additional configurations required by the provider service. */
    providerProperties?: any;
}
export interface InputSource {
    /** An Glue table Amazon Resource Name (ARN) for the input source table. */
    inputSourceARN: string;
    /** The name of the schema to be retrieved. */
    schemaName: string;
    /** Normalizes the attributes defined in the schema in the input data. For example, if an attribute has an AttributeType of PHONE_NUMBER, and the data in the input table is in a format of 1234567890, Enti */
    applyNormalization?: boolean;
}
export interface OutputSource {
    /** Customer KMS ARN for encryption at rest. If not provided, system will use an Entity Resolution managed KMS key. */
    KMSArn?: string;
    /** The S3 path to which Entity Resolution will write the output table. */
    outputS3Path?: string;
    /** A list of OutputAttribute objects, each of which have the fields Name and Hashed. Each of these objects selects a column to be included in the output table, and whether the values of the column should */
    output: any[];
    /** Normalizes the attributes defined in the schema in the input data. For example, if an attribute has an AttributeType of PHONE_NUMBER, and the data in the input table is in a format of 1234567890, Enti */
    applyNormalization?: boolean;
    /** Specifies the Customer Profiles integration configuration for sending matched output directly to Customer Profiles. When configured, Entity Resolution automatically creates and updates customer profil */
    customerProfilesIntegrationConfig?: any;
}
export interface RuleBasedProperties {
    /** A list of Rule objects, each of which have fields RuleName and MatchingKeys. */
    rules: any[];
    /** The comparison type. You can choose ONE_TO_ONE or MANY_TO_MANY as the attributeMatchingModel. If you choose ONE_TO_ONE, the system can only match attributes if the sub-types are an exact match. For ex */
    attributeMatchingModel: 'ONE_TO_ONE' | 'MANY_TO_MANY';
    /** An indicator of whether to generate IDs and index the data or not. If you choose IDENTIFIER_GENERATION, the process generates IDs and indexes the data. If you choose INDEXING, the process indexes the  */
    matchPurpose?: 'IDENTIFIER_GENERATION' | 'INDEXING';
}
export interface RuleConditionProperties {
    /** A list of rule objects, each of which have fields ruleName and condition. */
    rules: any[];
}
export interface ResolutionTechniques {
    /** The type of matching workflow to create. Specify one of the following types: RULE_MATCHING: Match records using configurable rule-based criteria ML_MATCHING: Match records using machine learning model */
    resolutionType: 'RULE_MATCHING' | 'ML_MATCHING' | 'PROVIDER';
    /** An object which defines the list of matching rules to run and has a field rules, which is a list of rule objects. */
    ruleBasedProperties?: RuleBasedProperties;
    /** An object containing the rules for a matching workflow. */
    ruleConditionProperties?: RuleConditionProperties;
    /** The properties of the provider service. */
    providerProperties?: ProviderProperties;
}
export interface IncrementalRunConfig {
    /** The type of incremental run. The only valid value is IMMEDIATE. This appears as "Automatic" in the console. For workflows where resolutionType is ML_MATCHING or PROVIDER, incremental processing is not */
    incrementalRunType?: 'IMMEDIATE';
}
export interface SchemaInputAttribute {
    /** A string containing the field name. */
    fieldName: string;
    /** The type of the attribute, selected from a list of values. LiveRamp supports: NAME | NAME_FIRST | NAME_MIDDLE | NAME_LAST | ADDRESS | ADDRESS_STREET1 | ADDRESS_STREET2 | ADDRESS_STREET3 | ADDRESS_CITY */
    type: 'NAME' | 'NAME_FIRST' | 'NAME_MIDDLE' | 'NAME_LAST' | 'ADDRESS' | 'ADDRESS_STREET1' | 'ADDRESS_STREET2' | 'ADDRESS_STREET3' | 'ADDRESS_CITY' | 'ADDRESS_STATE' | 'ADDRESS_COUNTRY' | 'ADDRESS_POSTALCODE' | 'PHONE' | 'PHONE_NUMBER' | 'PHONE_COUNTRYCODE' | 'EMAIL_ADDRESS' | 'UNIQUE_ID' | 'DATE' | 'STRING' | 'PROVIDER_ID' | 'IPV4' | 'IPV6' | 'MAID';
    /** A string that instructs Entity Resolution to combine several columns into a unified column with the identical attribute type. For example, when working with columns such as NAME_FIRST, NAME_MIDDLE, an */
    groupName?: string;
    /** A key that allows grouping of multiple input attributes into a unified matching group. For example, consider a scenario where the source table contains various addresses, such as business_address and  */
    matchKey?: string;
    /** The subtype of the attribute, selected from a list of values. */
    subType?: string;
    /** Indicates if the column values are hashed in the schema input. If the value is set to TRUE, the column values are hashed. If the value is set to FALSE, the column values are cleartext. */
    hashed?: boolean;
}
export interface IdMappingJobOutputSource {
    /** The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access Amazon Web Services resources on your behalf as part of workflow execution. */
    roleArn: string;
    /** The S3 path to which Entity Resolution will write the output table. */
    outputS3Path: string;
    /** Customer KMS ARN for encryption at rest. If not provided, system will use an Entity Resolution managed KMS key. */
    KMSArn?: string;
}
export interface AddPolicyStatementInput {
    /** The action that the principal can use on the resource. For example, entityresolution:GetIdMappingJob, entityresolution:GetMatchingJob. */
    action: string[];
    /** The Amazon Resource Name (ARN) of the resource that will be accessed by the principal. */
    arn: string;
    /** Determines whether the permissions specified in the policy are to be allowed (Allow) or denied (Deny). If you set the value of the effect parameter to Deny for the AddPolicyStatement operation, you mu */
    effect: 'Allow' | 'Deny';
    /** The Amazon Web Services service or Amazon Web Services account that can access the resource defined as ARN. */
    principal: string[];
    /** A statement identifier that differentiates the statement from others in the same policy. */
    statementId: string;
    /** A set of condition keys that you can use in key policies. */
    condition?: string;
}
export interface BatchDeleteUniqueIdInput {
    /** The unique IDs to delete. */
    uniqueIds: string[];
    /** The name of the workflow. */
    workflowName: string;
    /** The input source for the batch delete unique ID operation. */
    inputSource?: string;
}
export interface CreateIdMappingWorkflowInput {
    /** An object which defines the ID mapping technique and any additional configurations. */
    idMappingTechniques: IdMappingTechniques;
    /** A list of InputSource objects, which have the fields InputSourceARN and SchemaName. */
    inputSourceConfig: IdMappingWorkflowInputSource[];
    /** The name of the workflow. There can't be multiple IdMappingWorkflows with the same name. */
    workflowName: string;
    /** A description of the workflow. */
    description?: string;
    /** The incremental run configuration for the ID mapping workflow. */
    incrementalRunConfig?: IdMappingIncrementalRunConfig;
    /** A list of IdMappingWorkflowOutputSource objects, each of which contains fields outputS3Path and KMSArn. */
    outputSourceConfig?: IdMappingWorkflowOutputSource[];
    /** The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to create resources on your behalf as part of workflow execution. */
    roleArn?: string;
    /** The tags used to organize, track, or control access for this resource. */
    tags?: Record<string, string>;
}
export interface CreateIdNamespaceInput {
    /** The name of the ID namespace. */
    idNamespaceName: string;
    /** The type of ID namespace. There are two types: SOURCE and TARGET. The SOURCE contains configurations for sourceId data that will be processed in an ID mapping workflow. The TARGET contains a configura */
    type: 'SOURCE' | 'TARGET';
    /** The description of the ID namespace. */
    description?: string;
    /** Determines the properties of IdMappingWorflow where this IdNamespace can be used as a Source or a Target. */
    idMappingWorkflowProperties?: IdNamespaceIdMappingWorkflowProperties[];
    /** A list of InputSource objects, which have the fields InputSourceARN and SchemaName. */
    inputSourceConfig?: IdNamespaceInputSource[];
    /** The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access the resources defined in this IdNamespace on your behalf as part of the workflow run. */
    roleArn?: string;
    /** The tags used to organize, track, or control access for this resource. */
    tags?: Record<string, string>;
}
export interface CreateMatchingWorkflowInput {
    /** A list of InputSource objects, which have the fields InputSourceARN and SchemaName. */
    inputSourceConfig: InputSource[];
    /** A list of OutputSource objects, each of which contains fields outputS3Path, applyNormalization, KMSArn, and output. */
    outputSourceConfig: OutputSource[];
    /** An object which defines the resolutionType and the ruleBasedProperties. */
    resolutionTechniques: ResolutionTechniques;
    /** The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to create resources on your behalf as part of workflow execution. */
    roleArn: string;
    /** The name of the workflow. There can't be multiple MatchingWorkflows with the same name. */
    workflowName: string;
    /** A description of the workflow. */
    description?: string;
    /** Optional. An object that defines the incremental run type. This object contains only the incrementalRunType field, which appears as "Automatic" in the console. For workflows where resolutionType is ML */
    incrementalRunConfig?: IncrementalRunConfig;
    /** The tags used to organize, track, or control access for this resource. */
    tags?: Record<string, string>;
}
export interface CreateSchemaMappingInput {
    /** A list of MappedInputFields. Each MappedInputField corresponds to a column the source data table, and contains column name plus additional information that Entity Resolution uses for matching. */
    mappedInputFields: SchemaInputAttribute[];
    /** The name of the schema. There can't be multiple SchemaMappings with the same name. */
    schemaName: string;
    /** A description of the schema. */
    description?: string;
    /** The tags used to organize, track, or control access for this resource. */
    tags?: Record<string, string>;
}
export interface DeleteIdMappingWorkflowInput {
    /** The name of the workflow to be deleted. */
    workflowName: string;
}
export interface DeleteIdNamespaceInput {
    /** The name of the ID namespace. */
    idNamespaceName: string;
}
export interface DeleteMatchingWorkflowInput {
    /** The name of the workflow to be retrieved. */
    workflowName: string;
}
export interface DeletePolicyStatementInput {
    /** The ARN of the resource for which the policy need to be deleted. */
    arn: string;
    /** A statement identifier that differentiates the statement from others in the same policy. */
    statementId: string;
}
export interface DeleteSchemaMappingInput {
    /** The name of the schema to delete. */
    schemaName: string;
}
export interface GenerateMatchIdInput {
    /** The records to match. */
    records: any[];
    /** The name of the rule-based matching workflow. */
    workflowName: string;
    /** The processing mode that determines how Match IDs are generated and results are saved. Each mode provides different levels of accuracy, response time, and completeness of results. If not specified, de */
    processingType?: 'CONSISTENT' | 'EVENTUAL' | 'EVENTUAL_NO_LOOKUP';
}
export interface GetIdMappingJobInput {
    /** The ID of the job. */
    jobId: string;
    /** The name of the workflow. */
    workflowName: string;
}
export interface GetIdMappingWorkflowInput {
    /** The name of the workflow. */
    workflowName: string;
}
export interface GetIdNamespaceInput {
    /** The name of the ID namespace. */
    idNamespaceName: string;
}
export interface GetMatchIdInput {
    /** The record to fetch the Match ID for. */
    record: Record<string, string>;
    /** The name of the workflow. */
    workflowName: string;
    /** Normalizes the attributes defined in the schema in the input data. For example, if an attribute has an AttributeType of PHONE_NUMBER, and the data in the input table is in a format of 1234567890, Enti */
    applyNormalization?: boolean;
}
export interface GetMatchingJobInput {
    /** The ID of the job. */
    jobId: string;
    /** The name of the workflow. */
    workflowName: string;
}
export interface GetMatchingWorkflowInput {
    /** The name of the workflow. */
    workflowName: string;
}
export interface GetPolicyInput {
    /** The Amazon Resource Name (ARN) of the resource for which the policy need to be returned. */
    arn: string;
}
export interface GetProviderServiceInput {
    /** The name of the provider. This name is typically the company name. */
    providerName: string;
    /** The ARN (Amazon Resource Name) of the product that the provider service provides. */
    providerServiceName: string;
}
export interface GetSchemaMappingInput {
    /** The name of the schema to be retrieved. */
    schemaName: string;
}
export interface ListIdMappingJobsInput {
    /** The name of the workflow to be retrieved. */
    workflowName: string;
    /** The maximum number of objects returned per page. */
    maxResults?: number;
    /** The pagination token from the previous API call. */
    nextToken?: string;
}
export interface ListIdMappingWorkflowsInput {
    /** The maximum number of objects returned per page. */
    maxResults?: number;
    /** The pagination token from the previous API call. */
    nextToken?: string;
}
export interface ListIdNamespacesInput {
    /** The maximum number of IdNamespace objects returned per page. */
    maxResults?: number;
    /** The pagination token from the previous API call. */
    nextToken?: string;
}
export interface ListMatchingJobsInput {
    /** The name of the workflow to be retrieved. */
    workflowName: string;
    /** The maximum number of objects returned per page. */
    maxResults?: number;
    /** The pagination token from the previous API call. */
    nextToken?: string;
}
export interface ListMatchingWorkflowsInput {
    /** The maximum number of objects returned per page. */
    maxResults?: number;
    /** The pagination token from the previous API call. */
    nextToken?: string;
}
export interface ListProviderServicesInput {
    /** The maximum number of objects returned per page. */
    maxResults?: number;
    /** The pagination token from the previous API call. */
    nextToken?: string;
    /** The name of the provider. This name is typically the company name. */
    providerName?: string;
}
export interface ListSchemaMappingsInput {
    /** The maximum number of objects returned per page. */
    maxResults?: number;
    /** The pagination token from the previous API call. */
    nextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The ARN of the resource for which you want to view tags. */
    resourceArn: string;
}
export interface PutPolicyInput {
    /** The Amazon Resource Name (ARN) of the resource for which the policy needs to be updated. */
    arn: string;
    /** The resource-based policy. If you set the value of the effect parameter in the policy to Deny for the PutPolicy operation, you must also set the value of the effect parameter to Deny for the AddPolicy */
    policy: string;
    /** A unique identifier for the current revision of the policy. */
    token?: string;
}
export interface StartIdMappingJobInput {
    /** The name of the ID mapping job to be retrieved. */
    workflowName: string;
    /** The job type for the ID mapping job. If the jobType value is set to INCREMENTAL, only new or changed data is processed since the last job run. This is the default value if the CreateIdMappingWorkflow  */
    jobType?: 'BATCH' | 'INCREMENTAL' | 'DELETE_ONLY';
    /** A list of OutputSource objects. */
    outputSourceConfig?: IdMappingJobOutputSource[];
}
export interface StartMatchingJobInput {
    /** The name of the matching job to be retrieved. */
    workflowName: string;
}
export interface TagResourceInput {
    /** The ARN of the resource for which you want to view tags. */
    resourceArn: string;
    /** The tags used to organize, track, or control access for this resource. */
    tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** The ARN of the resource for which you want to untag. */
    resourceArn: string;
    /** The list of tag keys to remove from the resource. */
    tagKeys: string[];
}
export interface UpdateIdMappingWorkflowInput {
    /** An object which defines the ID mapping technique and any additional configurations. */
    idMappingTechniques: IdMappingTechniques;
    /** A list of InputSource objects, which have the fields InputSourceARN and SchemaName. */
    inputSourceConfig: IdMappingWorkflowInputSource[];
    /** The name of the workflow. */
    workflowName: string;
    /** A description of the workflow. */
    description?: string;
    /** The incremental run configuration for the update ID mapping workflow. */
    incrementalRunConfig?: IdMappingIncrementalRunConfig;
    /** A list of OutputSource objects, each of which contains fields outputS3Path and KMSArn. */
    outputSourceConfig?: IdMappingWorkflowOutputSource[];
    /** The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access Amazon Web Services resources on your behalf. */
    roleArn?: string;
}
export interface UpdateIdNamespaceInput {
    /** The name of the ID namespace. */
    idNamespaceName: string;
    /** The description of the ID namespace. */
    description?: string;
    /** Determines the properties of IdMappingWorkflow where this IdNamespace can be used as a Source or a Target. */
    idMappingWorkflowProperties?: IdNamespaceIdMappingWorkflowProperties[];
    /** A list of InputSource objects, which have the fields InputSourceARN and SchemaName. */
    inputSourceConfig?: IdNamespaceInputSource[];
    /** The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access the resources defined in this IdNamespace on your behalf as part of a workflow run. */
    roleArn?: string;
}
export interface UpdateMatchingWorkflowInput {
    /** A list of InputSource objects, which have the fields InputSourceARN and SchemaName. */
    inputSourceConfig: InputSource[];
    /** A list of OutputSource objects, each of which contains fields outputS3Path, applyNormalization, KMSArn, and output. */
    outputSourceConfig: OutputSource[];
    /** An object which defines the resolutionType and the ruleBasedProperties. */
    resolutionTechniques: ResolutionTechniques;
    /** The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to create resources on your behalf as part of workflow execution. */
    roleArn: string;
    /** The name of the workflow to be retrieved. */
    workflowName: string;
    /** A description of the workflow. */
    description?: string;
    /** Optional. An object that defines the incremental run type. This object contains only the incrementalRunType field, which appears as "Automatic" in the console. For workflows where resolutionType is ML */
    incrementalRunConfig?: IncrementalRunConfig;
}
export interface UpdateSchemaMappingInput {
    /** A list of MappedInputFields. Each MappedInputField corresponds to a column the source data table, and contains column name plus additional information that Entity Resolution uses for matching. */
    mappedInputFields: SchemaInputAttribute[];
    /** The name of the schema. There can't be multiple SchemaMappings with the same name. */
    schemaName: string;
    /** A description of the schema. */
    description?: string;
}
/** EntityResolution service binding for Step Functions SDK integrations. */
export declare class EntityResolution {
    constructor();
    addPolicyStatement<T>(params: AddPolicyStatementInput): Promise<T>;
    batchDeleteUniqueId<T>(params: BatchDeleteUniqueIdInput): Promise<T>;
    createIdMappingWorkflow<T>(params: CreateIdMappingWorkflowInput): Promise<T>;
    createIdNamespace<T>(params: CreateIdNamespaceInput): Promise<T>;
    createMatchingWorkflow<T>(params: CreateMatchingWorkflowInput): Promise<T>;
    createSchemaMapping<T>(params: CreateSchemaMappingInput): Promise<T>;
    deleteIdMappingWorkflow<T>(params: DeleteIdMappingWorkflowInput): Promise<T>;
    deleteIdNamespace<T>(params: DeleteIdNamespaceInput): Promise<T>;
    deleteMatchingWorkflow<T>(params: DeleteMatchingWorkflowInput): Promise<T>;
    deletePolicyStatement<T>(params: DeletePolicyStatementInput): Promise<T>;
    deleteSchemaMapping<T>(params: DeleteSchemaMappingInput): Promise<T>;
    generateMatchId<T>(params: GenerateMatchIdInput): Promise<T>;
    getIdMappingJob<T>(params: GetIdMappingJobInput): Promise<T>;
    getIdMappingWorkflow<T>(params: GetIdMappingWorkflowInput): Promise<T>;
    getIdNamespace<T>(params: GetIdNamespaceInput): Promise<T>;
    getMatchId<T>(params: GetMatchIdInput): Promise<T>;
    getMatchingJob<T>(params: GetMatchingJobInput): Promise<T>;
    getMatchingWorkflow<T>(params: GetMatchingWorkflowInput): Promise<T>;
    getPolicy<T>(params: GetPolicyInput): Promise<T>;
    getProviderService<T>(params: GetProviderServiceInput): Promise<T>;
    getSchemaMapping<T>(params: GetSchemaMappingInput): Promise<T>;
    listIdMappingJobs<T>(params: ListIdMappingJobsInput): Promise<T>;
    listIdMappingWorkflows<T>(params: ListIdMappingWorkflowsInput): Promise<T>;
    listIdNamespaces<T>(params: ListIdNamespacesInput): Promise<T>;
    listMatchingJobs<T>(params: ListMatchingJobsInput): Promise<T>;
    listMatchingWorkflows<T>(params: ListMatchingWorkflowsInput): Promise<T>;
    listProviderServices<T>(params: ListProviderServicesInput): Promise<T>;
    listSchemaMappings<T>(params: ListSchemaMappingsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    putPolicy<T>(params: PutPolicyInput): Promise<T>;
    startIdMappingJob<T>(params: StartIdMappingJobInput): Promise<T>;
    startMatchingJob<T>(params: StartMatchingJobInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateIdMappingWorkflow<T>(params: UpdateIdMappingWorkflowInput): Promise<T>;
    updateIdNamespace<T>(params: UpdateIdNamespaceInput): Promise<T>;
    updateMatchingWorkflow<T>(params: UpdateMatchingWorkflowInput): Promise<T>;
    updateSchemaMapping<T>(params: UpdateSchemaMappingInput): Promise<T>;
}
//# sourceMappingURL=EntityResolution.d.ts.map