declare enum PolicyCategory { EMAIL = "EMAIL", PHONE = "PHONE", SSN = "SSN", IP_ADDRESS = "IP_ADDRESS", API_KEY = "API_KEY", AWS_KEY = "AWS_KEY", PRIVATE_KEY = "PRIVATE_KEY", ADDRESS = "ADDRESS", GOVERNMENT_ID = "GOVERNMENT_ID", TAX_IDENTIFIER = "TAX_IDENTIFIER", INSURANCE = "INSURANCE", FINANCIAL = "FINANCIAL", MEDICAL = "MEDICAL", DIGITAL_IDENTITY = "DIGITAL_IDENTITY", GEOGRAPHIC = "GEOGRAPHIC", EMPLOYEE_ID = "EMPLOYEE_ID", VEHICLE = "VEHICLE", DEV_SECRET = "DEV_SECRET", DEV_IDENTIFIER = "DEV_IDENTIFIER", CLOUD_CREDENTIALS = "CLOUD_CREDENTIALS", CI_CD_SECRETS = "CI_CD_SECRETS", PACKAGE_REGISTRY = "PACKAGE_REGISTRY", DATABASE_CREDENTIALS = "DATABASE_CREDENTIALS", MONITORING_SECRETS = "MONITORING_SECRETS", AUTH_SECRETS = "AUTH_SECRETS", MESSAGING_SECRETS = "MESSAGING_SECRETS", WEBHOOK_URLS = "WEBHOOK_URLS", ENCRYPTION_KEYS = "ENCRYPTION_KEYS", CONTAINER_REGISTRY = "CONTAINER_REGISTRY", INFRASTRUCTURE_SECRETS = "INFRASTRUCTURE_SECRETS", CUSTOM = "CUSTOM" } interface Policy { readonly name: TName; readonly pattern: RegExp; readonly category: PolicyCategory; readonly replacement?: string; } declare const Policies: { readonly EMAIL_ADDRESS: "EMAIL_ADDRESS"; readonly PHONE_NUMBER_US: "PHONE_NUMBER_US"; readonly PHONE_NUMBER_INTERNATIONAL: "PHONE_NUMBER_INTERNATIONAL"; readonly PHONE_NUMBER_UK: "PHONE_NUMBER_UK"; readonly PHONE_NUMBER_CANADIAN: "PHONE_NUMBER_CANADIAN"; readonly SSN: "SSN"; readonly CREDIT_CARD: "CREDIT_CARD"; readonly IPV4_ADDRESS: "IPV4_ADDRESS"; readonly IPV6_ADDRESS: "IPV6_ADDRESS"; readonly MAC_ADDRESS: "MAC_ADDRESS"; readonly UUID: "UUID"; readonly PASSPORT_NUMBER: "PASSPORT_NUMBER"; readonly DRIVER_LICENSE: "DRIVER_LICENSE"; readonly VIN: "VIN"; readonly ROUTING_NUMBER_US: "ROUTING_NUMBER_US"; readonly IBAN: "IBAN"; readonly SWIFT_CODE: "SWIFT_CODE"; readonly ACCOUNT_NUMBER_US: "ACCOUNT_NUMBER_US"; readonly ACH_ROUTING_NUMBER: "ACH_ROUTING_NUMBER"; readonly CREDIT_CARD_CVV: "CREDIT_CARD_CVV"; readonly BITCOIN_ADDRESS: "BITCOIN_ADDRESS"; readonly ETHEREUM_ADDRESS: "ETHEREUM_ADDRESS"; readonly MEDICAL_RECORD_NUMBER: "MEDICAL_RECORD_NUMBER"; readonly HEALTH_INSURANCE_ID: "HEALTH_INSURANCE_ID"; readonly URL_WITH_CREDENTIALS: "URL_WITH_CREDENTIALS"; readonly JWT_TOKEN: "JWT_TOKEN"; readonly BASE64_URL_PARAM: "BASE64_URL_PARAM"; readonly API_KEY_GENERIC: "API_KEY_GENERIC"; readonly BASIC_AUTH_HEADER: "BASIC_AUTH_HEADER"; readonly BEARER_TOKEN_HEADER: "BEARER_TOKEN_HEADER"; readonly API_KEY_HEADER: "API_KEY_HEADER"; readonly SESSION_ID_COOKIE: "SESSION_ID_COOKIE"; readonly AWS_ACCESS_KEY: "AWS_ACCESS_KEY"; readonly AWS_SECRET_KEY: "AWS_SECRET_KEY"; readonly AWS_SESSION_TOKEN: "AWS_SESSION_TOKEN"; readonly GOOGLE_API_KEY: "GOOGLE_API_KEY"; readonly OPENAI_API_KEY: "OPENAI_API_KEY"; readonly ANTHROPIC_API_KEY: "ANTHROPIC_API_KEY"; readonly GITHUB_TOKEN: "GITHUB_TOKEN"; readonly GITHUB_FINE_GRAINED_TOKEN: "GITHUB_FINE_GRAINED_TOKEN"; readonly GITLAB_TOKEN: "GITLAB_TOKEN"; readonly BITBUCKET_TOKEN: "BITBUCKET_TOKEN"; readonly AZURE_SUBSCRIPTION_ID: "AZURE_SUBSCRIPTION_ID"; readonly AZURE_CLIENT_ID: "AZURE_CLIENT_ID"; readonly AZURE_TENANT_ID: "AZURE_TENANT_ID"; readonly AWS_ACCOUNT_ID: "AWS_ACCOUNT_ID"; readonly GCP_API_KEY: "GCP_API_KEY"; readonly AZURE_STORAGE_CONNECTION_STRING: "AZURE_STORAGE_CONNECTION_STRING"; readonly DOCKER_HUB_TOKEN: "DOCKER_HUB_TOKEN"; readonly DOCKER_REGISTRY_TOKEN: "DOCKER_REGISTRY_TOKEN"; readonly DOCKER_PASSWORD_FLAG: "DOCKER_PASSWORD_FLAG"; readonly NPM_TOKEN: "NPM_TOKEN"; readonly PYPI_TOKEN: "PYPI_TOKEN"; readonly RUBYGEMS_API_KEY: "RUBYGEMS_API_KEY"; readonly SLACK_WEBHOOK: "SLACK_WEBHOOK"; readonly SLACK_TOKEN: "SLACK_TOKEN"; readonly DISCORD_TOKEN: "DISCORD_TOKEN"; readonly DISCORD_WEBHOOK: "DISCORD_WEBHOOK"; readonly TWILIO_ACCOUNT_SID: "TWILIO_ACCOUNT_SID"; readonly TWILIO_AUTH_TOKEN: "TWILIO_AUTH_TOKEN"; readonly TWILIO_API_KEY: "TWILIO_API_KEY"; readonly SENDGRID_API_KEY: "SENDGRID_API_KEY"; readonly STRIPE_KEY: "STRIPE_KEY"; readonly SQUARE_ACCESS_TOKEN: "SQUARE_ACCESS_TOKEN"; readonly PAYPAL_CLIENT_ID: "PAYPAL_CLIENT_ID"; readonly BRAINTREE_ACCESS_TOKEN: "BRAINTREE_ACCESS_TOKEN"; readonly MAILGUN_API_KEY: "MAILGUN_API_KEY"; readonly MAILCHIMP_API_KEY: "MAILCHIMP_API_KEY"; readonly FIREBASE_API_KEY: "FIREBASE_API_KEY"; readonly FIREBASE_CONFIG: "FIREBASE_CONFIG"; readonly SUPABASE_API_KEY: "SUPABASE_API_KEY"; readonly SUPABASE_URL: "SUPABASE_URL"; readonly NETLIFY_ACCESS_TOKEN: "NETLIFY_ACCESS_TOKEN"; readonly NETLIFY_SITE_ID: "NETLIFY_SITE_ID"; readonly HEROKU_API_KEY: "HEROKU_API_KEY"; readonly DIGITALOCEAN_TOKEN: "DIGITALOCEAN_TOKEN"; readonly LINODE_API_TOKEN: "LINODE_API_TOKEN"; readonly VULTR_API_KEY: "VULTR_API_KEY"; readonly MONGODB_CONNECTION_STRING: "MONGODB_CONNECTION_STRING"; readonly POSTGRESQL_CONNECTION_STRING: "POSTGRESQL_CONNECTION_STRING"; readonly MYSQL_CONNECTION_STRING: "MYSQL_CONNECTION_STRING"; readonly REDIS_CONNECTION_STRING: "REDIS_CONNECTION_STRING"; readonly ELASTICSEARCH_URL: "ELASTICSEARCH_URL"; readonly RABBITMQ_CONNECTION_STRING: "RABBITMQ_CONNECTION_STRING"; readonly KAFKA_CONNECTION_STRING: "KAFKA_CONNECTION_STRING"; readonly CASSANDRA_CONNECTION_STRING: "CASSANDRA_CONNECTION_STRING"; readonly DATABASE_CONNECTION_STRING: "DATABASE_CONNECTION_STRING"; readonly DATABASE_URL: "DATABASE_URL"; readonly LDAP_CONNECTION_STRING: "LDAP_CONNECTION_STRING"; readonly JDBC_CONNECTION_STRING: "JDBC_CONNECTION_STRING"; readonly SMTP_CONNECTION_STRING: "SMTP_CONNECTION_STRING"; readonly SSH_PRIVATE_KEY: "SSH_PRIVATE_KEY"; readonly RSA_PRIVATE_KEY: "RSA_PRIVATE_KEY"; readonly EC_PRIVATE_KEY: "EC_PRIVATE_KEY"; readonly OPENSSH_PRIVATE_KEY: "OPENSSH_PRIVATE_KEY"; readonly GENERIC_PRIVATE_KEY: "GENERIC_PRIVATE_KEY"; readonly PGP_PRIVATE_KEY: "PGP_PRIVATE_KEY"; readonly BASE64_ENCODED_SECRET: "BASE64_ENCODED_SECRET"; readonly HEX_ENCODED_SECRET: "HEX_ENCODED_SECRET"; readonly GENERIC_SECRET: "GENERIC_SECRET"; readonly GENERIC_TOKEN: "GENERIC_TOKEN"; readonly GENERIC_CREDENTIAL: "GENERIC_CREDENTIAL"; readonly GENERIC_PASSWORD: "GENERIC_PASSWORD"; readonly PASSWORD_ASSIGNMENT: "PASSWORD_ASSIGNMENT"; readonly CERTIFICATE: "CERTIFICATE"; readonly ENVIRONMENT_VARIABLE_SECRET: "ENVIRONMENT_VARIABLE_SECRET"; readonly DOCKER_REGISTRY_AUTH: "DOCKER_REGISTRY_AUTH"; readonly KUBERNETES_SECRET: "KUBERNETES_SECRET"; readonly TERRAFORM_VARIABLE: "TERRAFORM_VARIABLE"; readonly ANSIBLE_VAULT: "ANSIBLE_VAULT"; readonly ANSIBLE_VAULT_PASSWORD: "ANSIBLE_VAULT_PASSWORD"; readonly AETNA_MEMBER_ID: "AETNA_MEMBER_ID"; readonly BCBS_MEMBER_ID: "BCBS_MEMBER_ID"; readonly UNITEDHEALTH_MEMBER_ID: "UNITEDHEALTH_MEMBER_ID"; readonly UK_NHS_NUMBER: "UK_NHS_NUMBER"; readonly CANADIAN_HEALTH_CARD: "CANADIAN_HEALTH_CARD"; readonly AUSTRALIAN_MEDICARE_NUMBER: "AUSTRALIAN_MEDICARE_NUMBER"; readonly GERMAN_HEALTH_INSURANCE_NUMBER: "GERMAN_HEALTH_INSURANCE_NUMBER"; readonly FRENCH_SOCIAL_SECURITY_NUMBER: "FRENCH_SOCIAL_SECURITY_NUMBER"; readonly EUROPEAN_HEALTH_INSURANCE_CARD: "EUROPEAN_HEALTH_INSURANCE_CARD"; readonly MEDICARE_NUMBER_US: "MEDICARE_NUMBER_US"; readonly MEDICAID_NUMBER_US: "MEDICAID_NUMBER_US"; readonly US_HEALTH_INSURANCE_POLICY: "US_HEALTH_INSURANCE_POLICY"; readonly US_INSURANCE_GROUP_NUMBER: "US_INSURANCE_GROUP_NUMBER"; readonly US_INSURANCE_CLAIM_NUMBER: "US_INSURANCE_CLAIM_NUMBER"; readonly AUTO_INSURANCE_POLICY: "AUTO_INSURANCE_POLICY"; readonly HOME_INSURANCE_POLICY: "HOME_INSURANCE_POLICY"; readonly LIFE_INSURANCE_POLICY: "LIFE_INSURANCE_POLICY"; readonly TRAVEL_INSURANCE_POLICY: "TRAVEL_INSURANCE_POLICY"; readonly WORKERS_COMPENSATION_CLAIM: "WORKERS_COMPENSATION_CLAIM"; readonly DISABILITY_INSURANCE_POLICY: "DISABILITY_INSURANCE_POLICY"; readonly DENTAL_INSURANCE_POLICY: "DENTAL_INSURANCE_POLICY"; readonly VISION_INSURANCE_POLICY: "VISION_INSURANCE_POLICY"; readonly US_ZIP_CODE: "US_ZIP_CODE"; readonly CANADIAN_POSTAL_CODE: "CANADIAN_POSTAL_CODE"; readonly UK_POSTCODE: "UK_POSTCODE"; readonly GPS_COORDINATES: "GPS_COORDINATES"; readonly US_DRIVER_LICENSE: "US_DRIVER_LICENSE"; readonly US_PASSPORT_NUMBER: "US_PASSPORT_NUMBER"; readonly NATIONAL_ID: "NATIONAL_ID"; readonly PASSPORT_MRZ: "PASSPORT_MRZ"; readonly ITIN: "ITIN"; readonly US_EIN_WITH_LABEL: "US_EIN_WITH_LABEL"; readonly US_EIN_PREFIXED: "US_EIN_PREFIXED"; readonly US_TIN_WITH_LABEL: "US_TIN_WITH_LABEL"; readonly US_EIN: "US_EIN"; readonly UK_VAT_NUMBER: "UK_VAT_NUMBER"; readonly EU_VAT_NUMBER: "EU_VAT_NUMBER"; readonly CANADIAN_BUSINESS_NUMBER: "CANADIAN_BUSINESS_NUMBER"; readonly AUSTRALIAN_ABN: "AUSTRALIAN_ABN"; readonly GERMAN_TAX_NUMBER: "GERMAN_TAX_NUMBER"; readonly FRENCH_SIRET_NUMBER: "FRENCH_SIRET_NUMBER"; readonly FRENCH_SIREN_NUMBER: "FRENCH_SIREN_NUMBER"; readonly EMPLOYEE_ID: "EMPLOYEE_ID"; readonly US_LICENSE_PLATE: "US_LICENSE_PLATE"; readonly GOOGLE_CLOUD_PROJECT_ID: "GOOGLE_CLOUD_PROJECT_ID"; readonly KAFKA_BOOTSTRAP_SERVER: "KAFKA_BOOTSTRAP_SERVER"; readonly CONTAINER_REGISTRY: "CONTAINER_REGISTRY"; readonly GIT_SSH_URL: "GIT_SSH_URL"; readonly API_ENDPOINT_URL: "API_ENDPOINT_URL"; readonly BUILD_NUMBER: "BUILD_NUMBER"; readonly VERSION_TAG: "VERSION_TAG"; readonly COMMIT_HASH: "COMMIT_HASH"; readonly PR_ISSUE_NUMBER: "PR_ISSUE_NUMBER"; readonly JIRA_TICKET: "JIRA_TICKET"; readonly AUTH0_DOMAIN: "AUTH0_DOMAIN"; readonly VERCEL_DEPLOYMENT_URL: "VERCEL_DEPLOYMENT_URL"; readonly SERVICE_ACCOUNT_EMAIL: "SERVICE_ACCOUNT_EMAIL"; readonly WEBHOOK_URL: "WEBHOOK_URL"; readonly OAUTH_CLIENT_ID: "OAUTH_CLIENT_ID"; readonly OAUTH_CLIENT_SECRET: "OAUTH_CLIENT_SECRET"; readonly OAUTH_REFRESH_TOKEN: "OAUTH_REFRESH_TOKEN"; readonly OAUTH_ACCESS_TOKEN: "OAUTH_ACCESS_TOKEN"; readonly OKTA_API_TOKEN: "OKTA_API_TOKEN"; readonly AUTH0_API_TOKEN: "AUTH0_API_TOKEN"; readonly KEYCLOAK_CLIENT_SECRET: "KEYCLOAK_CLIENT_SECRET"; readonly SHA_HASH: "SHA_HASH"; readonly JENKINS_TOKEN: "JENKINS_TOKEN"; readonly CIRCLECI_TOKEN: "CIRCLECI_TOKEN"; readonly TRAVIS_CI_TOKEN: "TRAVIS_CI_TOKEN"; readonly GITLAB_CI_TOKEN: "GITLAB_CI_TOKEN"; readonly AZURE_DEVOPS_TOKEN: "AZURE_DEVOPS_TOKEN"; readonly BITBUCKET_TOKEN_ALT: "BITBUCKET_TOKEN_ALT"; readonly SENTRY_DSN: "SENTRY_DSN"; readonly NEW_RELIC_LICENSE_KEY: "NEW_RELIC_LICENSE_KEY"; readonly DATADOG_API_KEY: "DATADOG_API_KEY"; readonly PAGERDUTY_INTEGRATION_KEY: "PAGERDUTY_INTEGRATION_KEY"; readonly GRAFANA_API_KEY: "GRAFANA_API_KEY"; readonly PROMETHEUS_REMOTE_WRITE: "PROMETHEUS_REMOTE_WRITE"; readonly SPLUNK_HEC_TOKEN: "SPLUNK_HEC_TOKEN"; readonly SUMO_LOGIC_COLLECTOR: "SUMO_LOGIC_COLLECTOR"; readonly BUGSNAG_API_KEY: "BUGSNAG_API_KEY"; readonly ROLLBAR_ACCESS_TOKEN: "ROLLBAR_ACCESS_TOKEN"; readonly AIRBRAKE_API_KEY: "AIRBRAKE_API_KEY"; readonly LOGDNA_INGESTION_KEY: "LOGDNA_INGESTION_KEY"; readonly LOGGLY_TOKEN: "LOGGLY_TOKEN"; readonly PAPERTRAIL_TOKEN: "PAPERTRAIL_TOKEN"; readonly TERRAFORM_CLOUD_TOKEN: "TERRAFORM_CLOUD_TOKEN"; readonly HASHICORP_VAULT_TOKEN: "HASHICORP_VAULT_TOKEN"; readonly AWS_SECRETS_MANAGER_ARN: "AWS_SECRETS_MANAGER_ARN"; readonly AZURE_KEY_VAULT_SECRET: "AZURE_KEY_VAULT_SECRET"; readonly GCP_SECRET_MANAGER: "GCP_SECRET_MANAGER"; readonly KUBERNETES_CONFIG: "KUBERNETES_CONFIG"; readonly HELM_REPOSITORY_CREDENTIALS: "HELM_REPOSITORY_CREDENTIALS"; readonly CONSUL_TOKEN: "CONSUL_TOKEN"; readonly RANCHER_TOKEN: "RANCHER_TOKEN"; readonly QUAY_IO_TOKEN: "QUAY_IO_TOKEN"; readonly JFROG_ARTIFACTORY_TOKEN: "JFROG_ARTIFACTORY_TOKEN"; readonly NEXUS_REPOSITORY_TOKEN: "NEXUS_REPOSITORY_TOKEN"; readonly CLOUDFLARE_API_TOKEN: "CLOUDFLARE_API_TOKEN"; readonly SSH_KEY_FINGERPRINT: "SSH_KEY_FINGERPRINT"; readonly SONARQUBE_TOKEN: "SONARQUBE_TOKEN"; readonly LAUNCHDARKLY_SDK_KEY: "LAUNCHDARKLY_SDK_KEY"; readonly SEGMENT_WRITE_KEY: "SEGMENT_WRITE_KEY"; readonly MIXPANEL_API_SECRET: "MIXPANEL_API_SECRET"; readonly ALGOLIA_API_KEY: "ALGOLIA_API_KEY"; readonly ELASTIC_CLOUD_ID: "ELASTIC_CLOUD_ID"; readonly RAILWAY_TOKEN: "RAILWAY_TOKEN"; readonly GCP_SERVICE_ACCOUNT_KEY: "GCP_SERVICE_ACCOUNT_KEY"; readonly CREDIT_CARD_WITH_SEPARATORS: "CREDIT_CARD_WITH_SEPARATORS"; readonly PGP_KEY_ID: "PGP_KEY_ID"; readonly AGE_SECRET_KEY: "AGE_SECRET_KEY"; readonly AGE_PUBLIC_KEY: "AGE_PUBLIC_KEY"; readonly AWS_KMS_KEY_ID: "AWS_KMS_KEY_ID"; readonly GCP_KMS_KEY: "GCP_KMS_KEY"; readonly AZURE_KEY_IDENTIFIER: "AZURE_KEY_IDENTIFIER"; readonly MASTER_KEY: "MASTER_KEY"; }; type PolicyName = (typeof Policies)[keyof typeof Policies]; interface ExcludePattern { pattern: RegExp; policies?: PolicyName[]; } interface RedactumOptions { policies?: PolicyName[]; customPolicies?: Policy[]; replacement?: string | ((match: string, category: PolicyCategory) => string); preserveLength?: boolean; excludePatterns?: ExcludePattern[]; } interface RedactumResult { text: string; redactedText: string; findings: RedactumFinding[]; stats: RedactumStats; } interface RedactumFinding { category: PolicyCategory; policyName: string; value: string; match: string; start: number; end: number; replacement: string; } interface RedactumStats { totalFindings: number; findingsByCategory: Partial>; processingTimeMs: number; } interface ProviderAdapter { readonly providerName: string; readonly version: string; transform(input: TInput, config?: TConfig): Promise | TOutput; validateInput?(input: TInput): boolean; supportsStreaming?: boolean; supportsBatch?: boolean; } interface DocumentProvider extends ProviderAdapter { transformDocument(document: TDoc): Promise | TDoc; extractText(document: TDoc): string; updateText(document: TDoc, redactedText: string, metadata?: Record): TDoc; extractMetadata?(document: TDoc): Record; updateMetadata?(document: TDoc, metadata: Record): TDoc; } interface ComponentProvider extends ProviderAdapter { createComponent(options?: RedactumOptions): TComponent; integrate?(pipeline: unknown, component: TComponent): unknown; } interface RunnableProvider extends ProviderAdapter { createRunnable(options?: RedactumOptions): TRunnable; createRunnableWithMetadata?(options?: RedactumOptions): TRunnable; createPreprocessingChain?(options?: RedactumOptions): TRunnable; } interface FrameworkDetection { name: string; detectPackage: string; version?: string; loader: () => Promise>; dependencies?: string[]; } interface ProviderMetadata { name: string; displayName: string; description: string; category: "document" | "component" | "runnable" | "multi-agent" | "other"; supportedVersions: string[]; experimental?: boolean; docUrl?: string; } interface ProviderRegistryResult { success: boolean; provider?: T; error?: string; metadata?: ProviderMetadata; } interface UniversalRedactionConfig extends RedactumOptions { includeFindings?: boolean; metadataKeys?: string[]; metadataTransformer?: (metadata: Record, findings: unknown[]) => Record; providerOptions?: Record; } interface UniversalRedactionResult { content: T; redactionResult: RedactumResult; providerMetadata?: Record; processingTime: number; } export type { ComponentProvider, DocumentProvider, FrameworkDetection, ProviderAdapter, ProviderMetadata, ProviderRegistryResult, RunnableProvider, UniversalRedactionConfig, UniversalRedactionResult };