/** * UAE Pass OAuth Configuration * * Configurable system for UAE Pass authentication * Users provide their own staging/production settings */ export interface UAEPassConfig { environment: 'staging' | 'production'; clientId: string; redirectUri: string; authorizationEndpoint: string; tokenEndpoint?: string; userInfoEndpoint?: string; scopes?: string[]; channelName?: string; } export interface UAEPassAppSchemes { staging: { ios: string; android: string; }; production: { ios: string; android: string; }; } export declare const UAE_PASS_ACR_VALUES: { /** * LOW - Web-based authentication only (no app-to-app) * Use when UAE Pass app is NOT detected */ readonly LOW: "urn:safelayer:tws:policies:authentication:level:low"; /** * MOBILE_ON_DEVICE - App-to-app authentication * Use when UAE Pass app IS detected */ readonly MOBILE_ON_DEVICE: "urn:digitalid:authentication:flow:mobileondevice"; readonly MEDIUM: "urn:safelayer:tws:policies:authentication:level:medium"; readonly HIGH: "urn:safelayer:tws:policies:authentication:level:high"; }; /** * Initialize UAE Pass configuration * Call this once in your app initialization (e.g., App.tsx) * * @param config - UAE Pass configuration * @param appSchemes - Optional app schemes override * * @example * ```typescript * configureUAEPass({ * environment: __DEV__ ? 'staging' : 'production', * clientId: 'your_client_id', * redirectUri: 'yourapp://auth/uaepass', * authorizationEndpoint: 'https://stg-id.uaepass.ae/idshub/authorize', * }); * ``` */ export declare const configureUAEPass: (config: UAEPassConfig, appSchemes?: Partial) => void; /** * Get current configuration * @throws Error if not configured */ export declare const getUAEPassConfig: () => UAEPassConfig; /** * Get app schemes for current environment */ export declare const getUAEPassAppSchemes: () => { ios: string; android: string; }; /** * Get current environment */ export declare const getUAEPassEnvironment: () => "staging" | "production"; declare const _default: { configureUAEPass: (config: UAEPassConfig, appSchemes?: Partial) => void; getUAEPassConfig: () => UAEPassConfig; getUAEPassAppSchemes: () => { ios: string; android: string; }; getUAEPassEnvironment: () => "staging" | "production"; UAE_PASS_ACR_VALUES: { /** * LOW - Web-based authentication only (no app-to-app) * Use when UAE Pass app is NOT detected */ readonly LOW: "urn:safelayer:tws:policies:authentication:level:low"; /** * MOBILE_ON_DEVICE - App-to-app authentication * Use when UAE Pass app IS detected */ readonly MOBILE_ON_DEVICE: "urn:digitalid:authentication:flow:mobileondevice"; readonly MEDIUM: "urn:safelayer:tws:policies:authentication:level:medium"; readonly HIGH: "urn:safelayer:tws:policies:authentication:level:high"; }; }; export default _default;