import { HINAccessToken, SAMLAuthCodeURLResponse, HINAuthHandle, HINSignedPrescriptionResponse } from '../../../../../core/src/hin/index.ts';
export declare class HINClient {
    private apiClient;
    constructor({ accessToken, backendUrl, }: {
        accessToken: string;
        backendUrl: string;
    });
    /**
     * Generate OAuth code URL
     */
    generateOAuthCodeURL(openerOrigin?: string): Promise<string>;
    /**
     * Get access token from code or refresh token
     */
    getAccessToken(codeOrToken: string, refresh?: boolean): Promise<HINAccessToken>;
    /**
     * Get SAML auth code URL
     */
    getSAMLAuthCodeURL(accessToken: string, openerOrigin?: string): Promise<SAMLAuthCodeURLResponse>;
    /**
     * Get SAML auth handle
     */
    getSAMLAuthHandle(accessToken: string, authCode: string): Promise<HINAuthHandle>;
    /**
     * Sign prescription
     */
    signPrescription(authHandle: string, chmed: string): Promise<HINSignedPrescriptionResponse>;
}
/**
 * Create a HIN client for use in components
 */
export declare function createHINClient({ accessToken, backendUrl, }: {
    accessToken: string;
    backendUrl: string;
}): HINClient;
