import { GraphQLClient } from 'graphql-request';
import { type DeletePatientInput, type StopPathwayInput, type StartPathwayInput, type UpdatePatientInput, type UpdateBaselineInfoInput, type QuerySearchPatientsByPatientCodeArgs, type UserProfile, type User, type AddIdentifierToPatientInput, type Maybe, type QueryPathwayActivitiesArgs, type Activity, type QueryFormArgs, type Form, type QueryFormResponseArgs, type FormResponse, type QueryCalculationResultsArgs, type SingleCalculationResult } from '../gql/graphql';
export default class AwellSdk {
    readonly apiUrl: string;
    readonly apiKey: string;
    readonly client: GraphQLClient;
    constructor(opts: {
        apiUrl: string;
        apiKey: string;
    });
    startCareFlow(input: StartPathwayInput): Promise<string>;
    updatePatient(input: UpdatePatientInput): Promise<string>;
    deletePatient(input: DeletePatientInput): Promise<boolean>;
    stopCareFlow(input: StopPathwayInput): Promise<boolean>;
    searchPatientsByPatientCode(input: QuerySearchPatientsByPatientCodeArgs): Promise<Array<Pick<User, 'id'> & {
        profile: Pick<UserProfile, 'patient_code'>;
    }>>;
    updateBaselineInfo(input: UpdateBaselineInfoInput): Promise<boolean>;
    getPatientByIdentifier(input: {
        system: string;
        value: string;
    }): Promise<Maybe<User> | undefined>;
    addIdentifierToPatient(input: AddIdentifierToPatientInput): Promise<boolean>;
    getPathwayActivities(input: QueryPathwayActivitiesArgs): Promise<Activity[]>;
    getForm(input: QueryFormArgs): Promise<Form>;
    getFormResponse(input: QueryFormResponseArgs): Promise<FormResponse>;
    getCalculationResults(input: QueryCalculationResultsArgs): Promise<SingleCalculationResult[]>;
}
