import type { Config as ProviderConfig } from '../models/Provider.js'; import type { Orchestrator } from '../clients/orchestrator.js'; import type { AuthModeType, DBCreateIntegration, IntegrationConfig, Provider } from '@nangohq/types'; interface ValidationRule { field: keyof ProviderConfig | 'app_id' | 'private_key'; modes: AuthModeType[]; isValid(config: ProviderConfig): boolean; } declare class ConfigService { getIdByProviderConfigKey(environment_id: number, providerConfigKey: string): Promise; getProviderConfig(providerConfigKey: string, environment_id: number): Promise; listProviderConfigs(environment_id: number): Promise; listIntegrationForApi(environment_id: number): Promise<(ProviderConfig & { connection_count: string; })[]>; createProviderConfig(config: DBCreateIntegration, provider: Provider): Promise; createEmptyProviderConfig(providerName: string, environment_id: number, provider: Provider): Promise; deleteProviderConfig({ id, environmentId, providerConfigKey, orchestrator }: { id: number; environmentId: number; providerConfigKey: string; orchestrator: Orchestrator; }): Promise; editProviderConfig(config: ProviderConfig): Promise; getConfigIdByProvider(provider: string, environment_id: number): Promise<{ id: number; unique_key: string; } | null>; copyProviderConfigCreds(fromEnvironmentId: number, toEnvironmentId: number, providerConfigKey: string): Promise<{ copiedToId: number; copiedFromId: number; } | null>; VALIDATION_RULES: ValidationRule[]; validateProviderConfig(authMode: AuthModeType, providerConfig: ProviderConfig): string[]; } declare const _default: ConfigService; export default _default;