import * as logs from "aws-cdk-lib/aws-logs"; import { Construct } from "constructs"; import type { CognitoDetails, VyEnvironment } from "./shared/types"; import type { IVyCognitoProvider, VyCognitoProviderAttributes } from "./vy-cognito-provider-base"; export interface VyCognitoProviderProps { /** * The Vy Cognito environment to connect to (e.g., VyEnvironment.PROD, VyEnvironment.STAGE, VyEnvironment.TEST) */ readonly environment: VyEnvironment; /** * Base domain for Cognito service * @default 'cognito.vydev.io' */ readonly cognitoBaseDomain?: string; /** * @default logs.RetentionDays.ONE_WEEK */ readonly logsRetention?: logs.RetentionDays; } export interface AppClientProvider { environment: VyEnvironment; serviceToken: string; auth_url: string; } export interface ResourceServerProvider { environment: VyEnvironment; serviceToken: string; } export declare class VyCognitoProvider extends Construct implements IVyCognitoProvider { readonly environment: VyEnvironment; readonly cognitoBaseDomain: string; readonly details: CognitoDetails; readonly appClientProvider: AppClientProvider; readonly resourceServerProvider: ResourceServerProvider; static fromVyCognitoProviderAttributes(scope: Construct, id: string, attrs: VyCognitoProviderAttributes): IVyCognitoProvider; constructor(scope: Construct, id: string, props: VyCognitoProviderProps); } export declare function getCognitoDetailsForEnvironment(environment: VyEnvironment): CognitoDetails;