expo-finance-kit
Version:
Native Expo module for Apple FinanceKit - Access financial data from Apple Card and other accounts
67 lines • 2.5 kB
TypeScript
/**
* Authorization management module for Expo Finance Kit
* Handles FinanceKit authorization flows and status management
*/
import { AuthorizationStatus, AuthorizationResult, AuthorizationStatusChangedPayload } from '../ExpoFinanceKit.types';
/**
* Requests authorization to access financial data
* @returns Promise resolving to authorization result
*/
export declare function requestAuthorization(): Promise<AuthorizationResult>;
/**
* Gets current authorization status
* @returns Promise resolving to current authorization status
*/
export declare function getAuthorizationStatus(): Promise<AuthorizationStatus>;
/**
* Checks if FinanceKit is available on the device
* @returns Boolean indicating availability
*/
export declare function isFinanceKitAvailable(): boolean;
/**
* Ensures user has authorized access before proceeding
* @param requestIfNeeded - Whether to request authorization if not determined
* @returns Promise resolving to boolean indicating authorization status
*/
export declare function ensureAuthorized(requestIfNeeded?: boolean): Promise<boolean>;
/**
* Authorization status change listener manager
*/
declare class AuthorizationListener {
private listeners;
/**
* Adds a listener for authorization status changes
* @param callback - Function to call when status changes
* @returns Function to remove the listener
*/
addStatusChangeListener(callback: (payload: AuthorizationStatusChangedPayload) => void): () => void;
/**
* Removes a specific listener
* @param listenerId - ID of the listener to remove
*/
private removeListener;
/**
* Removes all authorization listeners
*/
removeAllListeners(): void;
}
export declare const authorizationListener: AuthorizationListener;
/**
* Waits for authorization with timeout
* @param timeoutMs - Maximum time to wait in milliseconds
* @returns Promise resolving to authorization result
*/
export declare function waitForAuthorization(timeoutMs?: number): Promise<AuthorizationResult>;
/**
* Gets human-readable description for authorization status
* @param status - Authorization status
* @returns Human-readable description
*/
export declare function getAuthorizationStatusDescription(status: AuthorizationStatus): string;
/**
* Checks if authorization can be requested
* @returns Promise resolving to boolean
*/
export declare function canRequestAuthorization(): Promise<boolean>;
export {};
//# sourceMappingURL=authorization.d.ts.map