import { IntegrationId } from './communication.public-types';
/** List of all integration types supported by Squid. */
export declare const INTEGRATION_TYPES: readonly ["active_directory", "ai_agents", "ai_chatbot", "algolia", "alloydb", "api", "auth0", "bedrock", "azure_blob", "azure_cosmosdb", "azure_postgresql", "azure_sql", "bigquery", "built_in_azure_blob", "built_in_db", "built_in_gcs", "built_in_queue", "built_in_s3", "cassandra", "clickhouse", "cloudsql", "cockroach", "cognito", "connected_knowledgebases", "confluence", "confluent", "datadog", "db2", "descope", "documentdb", "azure-entra-external-id", "dynamodb", "elasticsearch", "firebase_auth", "firestore", "gcs", "github", "google_calendar", "google_docs", "google_drive", "graphql", "hubspot", "jira", "jira_jsm", "jwt_hmac", "jwt_rsa", "kafka", "keycloak", "linear", "mariadb", "monday", "mongo", "mssql", "databricks", "mysql", "newrelic", "okta", "onedrive", "oracledb", "pinecone", "postgres", "redis", "s3", "salesforce", "sap_hana", "sentry", "snowflake", "spanner", "xata", "zendesk", "servicenow_csm", "freshdesk", "mail", "slack", "mcp", "a2a", "legend", "teams", "openai_compatible", "openai_compatible_embedding", "sharepoint", "vertex"];
/**
 * @category Database
 */
export declare const DATA_INTEGRATION_TYPES: readonly ["bigquery", "built_in_db", "clickhouse", "cockroach", "dynamodb", "mongo", "mssql", "databricks", "mysql", "oracledb", "postgres", "sap_hana", "snowflake", "elasticsearch", "legend"];
/**
 * @category Auth
 */
export declare const AUTH_INTEGRATION_TYPES: readonly ["auth0", "jwt_rsa", "jwt_hmac", "cognito", "okta", "keycloak", "descope", "firebase_auth", "azure-entra-external-id"];
/** Supported integration types for GraphQL-based services. */
export declare const GRAPHQL_INTEGRATION_TYPES: readonly ["graphql"];
/** Supported integration types for HTTP-based services. */
export declare const HTTP_INTEGRATION_TYPES: readonly ["api"];
/** Represents a supported integration type identifier, such as 'postgres', 'auth0', or 's3'. */
export type IntegrationType = (typeof INTEGRATION_TYPES)[number];
/** Supported schema types for integrations */
export declare const INTEGRATION_SCHEMA_TYPES: readonly ["data", "api", "graphql"];
/** Describes the type of schema the integration provides, such as data, API, or GraphQL schema. */
export type IntegrationSchemaType = (typeof INTEGRATION_SCHEMA_TYPES)[number];
/**
 * @category Database
 */
export declare const BUILT_IN_DB_INTEGRATION_ID: IntegrationId;
/**
 * @category Queue
 */
export declare const BUILT_IN_QUEUE_INTEGRATION_ID: IntegrationId;
/**
 * ID for the cloud specific storage integration: s3 (built_in_s3) or gcs (built_in_gcs).
 * @category
 */
export declare const BUILT_IN_STORAGE_INTEGRATION_ID: IntegrationId;
/** Metadata describing a configured integration, including its ID, type, timestamps, and optional configuration object. */
export interface IntegrationInfo<ConfigurationType = Record<string, any> | undefined> {
    /** The unique identifier of the integration instance. */
    id: IntegrationId;
    /** The type of the integration (e.g., postgres, auth0, s3). */
    type: IntegrationType;
    /** The date when the integration was created. */
    creationDate?: Date;
    /** The date when the integration was last updated. */
    updateDate?: Date;
    /** The configuration object for the integration, if any. */
    configuration: ConfigurationType;
}
/** Integration IDs used for built-in integrations by Squid. */
export declare const SQUID_BUILT_IN_INTEGRATION_IDS: readonly [string, string, string];
/** Returns true if ID is a built-in integration ID in Squid. */
export declare function isBuiltInIntegrationId(id: unknown): id is (typeof SQUID_BUILT_IN_INTEGRATION_IDS)[number];
