import { type AppManifest } from '@ankhorage/contracts'; type ManifestAuth = NonNullable; type ManifestFlow = NonNullable; type ManifestSignIn = NonNullable; type ManifestSignUp = NonNullable; type ManifestOAuth = NonNullable; type ManifestProfile = NonNullable; interface ValidationError { readonly code: 'invalid_config'; readonly message: string; } type ValidationResult = { readonly ok: true; readonly data: T; } | { readonly ok: false; readonly error: ValidationError; }; export interface StudioAuthSettings { readonly scope: ManifestAuth['scope']; readonly provider: ManifestAuth['provider']; readonly flow: ManifestFlow; readonly signIn: ManifestSignIn; readonly signUp?: ManifestSignUp; readonly oauth?: ManifestOAuth; readonly profile?: ManifestProfile; } export type StudioAuthSettingsMutation = (settings: StudioAuthSettings | null) => StudioAuthSettings | null; export type StudioAuthSettingsValidationResult = ValidationResult; export declare function readStudioAuthSettings(manifest: AppManifest): StudioAuthSettings | null; export declare function applyStudioAuthSettings(manifest: AppManifest, settings: StudioAuthSettings): AppManifest; export declare function validateStudioAuthSettings(value: unknown): StudioAuthSettingsValidationResult; export {}; //# sourceMappingURL=authSettings.d.ts.map