/** OAuth consent screen. The operator's browser lands here; Intuit redirects * back to redirect_uri with code+state+realmId. */ export declare const INTUIT_AUTHORIZE_URL = "https://appcenter.intuit.com/connect/oauth2"; /** Token endpoint — same host for sandbox and production (the QBO API base * differs by environment, the token endpoint does not). */ export declare const INTUIT_TOKEN_URL = "https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer"; /** Accounting scope. openid/profile/email are intentionally omitted — the * connector needs company data, not an Intuit identity. */ export declare const QBO_SCOPE = "com.intuit.quickbooks.accounting"; export interface TokenResponse { accessToken: string; refreshToken: string; /** seconds until the access token expires (Intuit returns ~3600). */ expiresIn: number; /** seconds until the refresh token expires (Intuit returns ~8640000 ≈ 100d). */ refreshTokenExpiresIn: number; } export declare function buildAuthorizeUrl(opts: { clientId: string; redirectUri: string; state: string; scope?: string; }): string; export declare function exchangeCode(opts: { clientId: string; clientSecret: string; code: string; redirectUri: string; tokenUrl?: string; }): Promise; export declare function refreshAccess(opts: { clientId: string; clientSecret: string; refreshToken: string; tokenUrl?: string; }): Promise; //# sourceMappingURL=oauth.d.ts.map