/******************************************
 *  Author : Dr. Sebastian Herden
 *  Created On : Fri Sep 16 2022
 *  File : ActivityLog.ts
 *******************************************/
import CalendlyApiEndpointWithOrganization from './CalendlyApiEndpointWithOrganization';
import { ErrorResponse } from './ErrorResponse';
import { PaginationResponse } from './PaginationResponse';
/**
 * The activity log endpoint.
 * @export default
 * @class ActivityLog
 * @extends {CalendlyApiEndpointWithOrganization}
 * @see https://developer.calendly.com/api-docs/d37c7f031f339-list-activity-log-entries
 */
export default class ActivityLog extends CalendlyApiEndpointWithOrganization {
    /**
     * Returns a list of activity log entries
     * @param params The query parameters.
     * @returns {Promise<ActivityLogResponse>} It is either a list of activity log entries as a paginated response or an error.
     * @see https://developer.calendly.com/api-docs/d37c7f031f339-list-activity-log-entries
     * @memberof ActivityLog
     * @example const activitiesResponse = Calendly.activityLog.listActivityLogEntries({count: 10});
     * @see ActivityLogQueryParams
     * @see ActivityLogResponse
     */
    listActivityLogEntries(params: ActivityLogQueryParams): Promise<ActivityLogResponse>;
}
/**
 * The definition of an Activity Log query
 * @export
 * @interface ActivityLogQueryParams
 * @see https://developer.calendly.com/api-docs/d37c7f031f339-list-activity-log-entries
 */
export declare type ActivityLogQueryParams = {
    action?: [string];
    count?: number;
    max_occurred_at?: Date;
    min_occurred_at?: Date;
    namespace?: [string];
    page_token?: string;
    search_term?: string;
    sort?: string;
};
/**
 * The definition of an Activity Log response.
 * @export
 * @interface ActivityLogResponse
 * @see https://developer.calendly.com/api-docs/d37c7f031f339-list-activity-log-entries
 */
export declare type ActivityLogResponse = ErrorResponse | (PaginationResponse<ActivityLogEntry> & {
    last_event_time: Date | null;
    total_count: number;
    exceeds_max_total_count: boolean;
});
export declare type ActivityLogEntry = {
    occurred_at: Date;
    actor?: {
        uri: string;
        type?: string;
        organization?: {
            uri: string;
            role: string;
        };
        group?: {
            uri: string;
            name: string;
            role: string;
        };
        display_name?: string;
        alternative_identifier?: string;
    };
    details: {};
    fully_qualified_name: string;
    uri: string;
    namespace: string;
    action: string;
    organization: string;
};
/**
 * The definition of an Activity Log entry.
 * @export
 * @class ActivityLogQuery
 * @see https://developer.calendly.com/api-docs/d37c7f031f339-list-activity-log-entries
 */
export declare class ActivityLogQuery implements ActivityLogQueryParams {
    organization: string;
    action?: [string];
    count: number;
    max_occurred_at?: Date;
    min_occurred_at?: Date;
    namespace?: [string];
    page_token?: string;
    search_term?: string;
    sort?: string;
    constructor(data: ActivityLogQueryParams, organization: string);
    /**
     * Returns the query parameters as a string.
     * @returns {string} The query string for the request.
     */
    getQueryParams(): string;
}
//# sourceMappingURL=ActivityLog.d.ts.map