import Client from "fhirclient/lib/Client";
import { SmartAuthService } from "./smart-auth.service";
import { SmartOnFhirConfig } from "../model/smart-on-fhir.config";
import * as i0 from "@angular/core";
/**
 * Authenticated FHIR client
 */
export declare class SmartOnFhirService {
    config: SmartOnFhirConfig;
    private auth;
    private importedSHCards;
    private _importedResources;
    get importedResources(): {
        [rtype: string]: import("fhir/r4").Resource[];
    };
    constructor(config: SmartOnFhirConfig, auth: SmartAuthService);
    getClient(): Promise<Client | undefined>;
    private ready;
    getPatient(): Promise<import("fhir/r4").Patient | undefined>;
    search<T>(resourceType: string, ...params: any[]): Promise<fhir4.Bundle<T>>;
    create<T>(resource: T, id?: string): Promise<T>;
    operation<T>(options: {
        operationName: string;
        resourceType?: string;
        resourceId?: string;
        params?: fhir4.Parameters;
        queryParams?: {
            [key: string]: string | number;
        }[];
    }): Promise<T>;
    request<T>(url: string): Promise<fhir4.Bundle<T>>;
    logout(): void;
    private constructQueryURL;
    importSHCData(param: {
        label?: string;
        shc: string[];
        bundle: fhir4.Bundle;
    }): void;
    getAllImportedResources(): import("fhir/r4").Resource[];
    static ɵfac: i0.ɵɵFactoryDeclaration<SmartOnFhirService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<SmartOnFhirService>;
}
