/******************************************
 *  Author : Dr. Sebastian Herden
 *  Created On : Fri Sep 16 2022
 *  File : ScheduledEvents.ts
 *******************************************/
import { ErrorResponse } from './ErrorResponse';
import { EventDefinition } from './types/Event';
import CalendlyApiEndpoint from './CalendlyApiEndpoint';
import { PaginationResponse } from './PaginationResponse';
import { Invitee } from './types/Invitee';
/**
 * The scheduled events endpoint.
 * @export default
 * @class ScheduledEvents
 * @extends {CalendlyApiEndpoint}
 * @see https://developer.calendly.com/api-docs/eb8ee72701f99-list-event-invitees
 */
export default class ScheduledEvents extends CalendlyApiEndpoint {
    /**
     * Returns a list of Events.
     * - Pass organization parameter to return events for that organization (requires admin/owner privilege)
     * - Pass user parameter to return events for a specific User
     *
     * NOTES:
     *
     * - If you are the admin/owner of the organization, you can use both organization and user to get a list of events for a specific user within your organization.
     * - user can only be used alone when requesting your own personal events. This will return your events within any organization that you are currently in or were a part of in the past.
     * @param params The request parameters.
     * @returns {Promise<PaginationResponse<EventDefinition> & ErrorResponse>}
     * @memberof ScheduledEvents
     * @see https://developer.calendly.com/api-docs/2d5ed9bbd2952-list-events
     */
    listEvents(params: ListEventsRequestParams): Promise<PaginationResponse<EventDefinition>>;
    /**
     * Returns a list of Invitees for an event.
     * @param uuid The event uuid.
     * @param params The request parameters.
     * @returns {Promise<PaginationResponse<Invitee> & ErrorResponse>}
     * @memberof ScheduledEvents
     * @see https://developer.calendly.com/api-docs/eb8ee72701f99-list-event-invitees
     */
    listEventInvitees(uuid: string, params: ListEventInviteesRequestParams): Promise<PaginationResponse<Invitee> & ErrorResponse>;
    private getEventsQueryParams;
    private getEventInviteesQueryParams;
}
export declare type ListEventInviteesRequestParams = {
    count?: number;
    email?: string;
    page_token?: string;
    sort?: 'asc' | 'desc';
    status?: 'active' | 'canceled';
};
export declare type ListEventsRequestParams = {
    count?: number;
    invitee_email?: string;
    max_start_time?: Date;
    min_start_time?: Date;
    organization?: string;
    page_token?: string;
    sort?: 'asc' | 'desc';
    status?: 'active' | 'canceled';
    user?: string;
};
//# sourceMappingURL=ScheduledEvents.d.ts.map