import { LoginOptions, MFAOptions } from './auth'; import { DirectLoginOptions } from './auth/DirectAuthenticationService'; import { GraphQLClient } from './graphql'; import { MultiLevelCache } from '../cache'; import { AccountsAPIImpl } from '../api/accounts'; import { TransactionsAPIImpl } from '../api/transactions'; import { BudgetsAPIImpl } from '../api/budgets'; import { CategoriesAPIImpl } from '../api/categories'; import { CashflowAPIImpl } from '../api/cashflow'; import { RecurringAPIImpl } from '../api/recurring'; import { InstitutionsAPIImpl } from '../api/institutions'; import { InsightsAPIImpl } from '../api/insights'; import { MonarchConfig, /* CacheConfig, */ SessionInfo } from '../types'; export declare class MonarchClient { private config; private auth; private directAuth; private graphql; private cache?; accounts: AccountsAPIImpl; transactions: TransactionsAPIImpl; budgets: BudgetsAPIImpl; categories: CategoriesAPIImpl; cashflow: CashflowAPIImpl; recurring: RecurringAPIImpl; institutions: InstitutionsAPIImpl; insights: InsightsAPIImpl; constructor(config?: MonarchConfig); private buildConfig; login(options?: LoginOptions): Promise; interactiveLogin(options?: Omit): Promise; multiFactorAuthenticate(options: MFAOptions): Promise; /** * Direct login using the proven working authentication approach * This bypasses the complex retry logic and directly replicates the working raw authentication */ directLogin(options: DirectLoginOptions): Promise; validateSession(): Promise; isSessionStale(): boolean; ensureValidSession(): Promise; getSessionInfo(): SessionInfo; saveSession(): void; loadSession(): boolean; deleteSession(): void; gqlCall(_operation: string, query: string, variables?: Record): Promise; gqlMutation(_operation: string, mutation: string, variables?: Record): Promise; getGraphQLClient(): GraphQLClient; clearCache(): void; getCacheStats(): ReturnType | null; preloadCache(operations: Array<{ operation: string; params?: Record; factory: () => Promise; }>): Promise; getVersion(): { version: string; sessionInfo: SessionInfo; }; setTimeout(timeoutMs: number): void; setToken(token: string): void; close(): Promise; get_accounts(includeHidden?: boolean): Promise>; get_me(): Promise; static isNode(): boolean; static isBrowser(): boolean; static create(config?: MonarchConfig): MonarchClient; static createAndLogin(config: MonarchConfig & { email: string; password: string; }): Promise; } //# sourceMappingURL=MonarchClient.d.ts.map