import type { AppManifest } from '@ankhorage/contracts'; import type { AppDeployEnvironmentId, AppDeployTargetId } from '@ankhorage/contracts/deploy'; import type { SecretMetadata } from '@ankhorage/contracts/secrets'; export type ProjectAuthHealthStatus = 'healthy' | 'warning' | 'error' | 'unconfigured'; export type ProjectAuthDiagnosticSeverity = 'info' | 'warning' | 'error'; export interface ProjectAuthDiagnostic { readonly code: string; readonly severity: ProjectAuthDiagnosticSeverity; readonly message: string; readonly path?: string; readonly providerId?: string; readonly credentialsRef?: string; } export type ProjectOAuthProviderHealthStatus = 'disabled' | 'configured' | 'incomplete' | 'missing' | 'invalid'; export interface ProjectOAuthProviderHealth { readonly providerId: string; readonly label: string; readonly enabled: boolean; readonly credentialsRef?: string; readonly status: ProjectOAuthProviderHealthStatus; readonly requiredFields: readonly string[]; readonly configuredFields: readonly string[]; readonly missingFields: readonly string[]; } export interface ProjectAuthHealth { readonly status: ProjectAuthHealthStatus; readonly diagnostics: readonly ProjectAuthDiagnostic[]; readonly providers: readonly ProjectOAuthProviderHealth[]; readonly setup: { readonly environment: AppDeployEnvironmentId; readonly targets: readonly AppDeployTargetId[]; }; readonly callbackUrls: { readonly appCallbackRoute: string; readonly providerRedirectUrl?: string; }; } export declare function analyzeProjectAuthHealth(input: { readonly manifest: AppManifest; readonly secretMetadata: readonly SecretMetadata[]; readonly secretStoreAvailable?: boolean; readonly environment?: AppDeployEnvironmentId; }): ProjectAuthHealth; //# sourceMappingURL=projectAuthHealth.d.ts.map