/**
 * iCure Data Stack API Documentation
 * The iCure Data Stack Application API is the native interface to iCure. This version is obsolete, please use v2.
 *
 * OpenAPI spec version: v1
 *
 *
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen.git
 * Do not edit the class manually.
 */
import { XHR } from './XHR';
import { AppointmentTypeAndPlace } from '../model/AppointmentTypeAndPlace';
import { UserAndHealthcareParty } from '../model/UserAndHealthcareParty';
import { AuthenticationProvider } from '../../icc-x-api/auth/AuthenticationProvider';
import { PaginatedListMedicalLocation } from "../model/PaginatedListMedicalLocation";
export declare class IccAnonymousAccessApi {
    host: string;
    headers: Array<XHR.Header>;
    authenticationProvider: AuthenticationProvider;
    fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>;
    constructor(host: string, headers: any, authenticationProvider?: AuthenticationProvider, fetchImpl?: (input: RequestInfo, init?: RequestInit) => Promise<Response>);
    setHeaders(h: Array<XHR.Header>): void;
    handleError(e: XHR.XHRError): never;
    /**
     * The start of the slot is returned in YYYYDDMMHHmmss format and only slots belonging to public time tables are returned.
     * @summary Get Availabilities for HCP and appointmentType
     * @param groupId
     * @param userId
     * @param calendarItemTypeId
     * @param isNewPatient
     * @param startDate
     * @param endDate
     * @param hcpId
     * @param placeId
     * @param limit
     */
    getAvailabilitiesByPeriodAndCalendarItemTypeId(groupId: string, userId: string, calendarItemTypeId: string, isNewPatient: boolean, startDate: number, endDate: number, hcpId: string, placeId?: string, limit?: number): Promise<Array<number>>;
    /**
     * Returns a list of Calendar Item types. In order to be returned, the Calendar Item Type must be linked to a time table enclosed in an Agenda for which an anonymous right has been set (a Right with read permission and null user)
     * @summary List Calendar Item types for a provided group id and user id
     * @param groupId Healthcare parties group id
     * @param userId Healthcare party user id
     * @param startDate
     * @param endDate
     */
    listAppointmentTypesForUser(groupId: string, userId: string, startDate: number, endDate: number): Promise<Array<AppointmentTypeAndPlace>>;
    /**
     * Returns a list of Users/healthcare parties contained in the group owning the providing id. In order to be returned, a healthcare party needs to be linked to a user an this user must have a property 'org.taktik.icure.public' set to a boolean true.
     * @summary List healthcare parties for a provided group id
     * @param groupId Healthcare parties group id
     */
    listHealthcarePartiesInGroup(groupId: string): Promise<Array<UserAndHealthcareParty>>;
    /**
     *
     * @summary Get paginated list of Access Logs
     * @param groupId MedicalLocations group id
     * @param startKey The start key for pagination
     * @param startDocumentId A patient document ID
     * @param limit Number of rows
     */
    getPublicMedicalLocationsByGroupId(groupId: string, startKey?: string, startDocumentId?: string, limit?: number): Promise<PaginatedListMedicalLocation>;
}
