import { IHubEvent } from "../core/types/IHubEvent";
import { IHubRequestOptions } from "../hub-types";
import { RegistrationRole, EventAttendanceType, IRegistration } from "./api/types";
export interface IHubCreateEventRegistration {
    eventId: string;
    role: RegistrationRole;
    type: EventAttendanceType;
}
/**
 * @private
 * Create a new Hub Event item
 *
 * Minimal properties are name and orgUrlKey
 *
 * @param partialEvent a partial event
 * @param requestOptions user request options
 * @returns promise that resolves an IHubEvent
 */
export declare function createHubEvent(partialEvent: Partial<IHubEvent>, requestOptions: IHubRequestOptions): Promise<IHubEvent>;
/**
 * @private
 * Update a Hub Event
 * @param event the event to update
 * @param requestOptions user request options
 * @returns promise that resolves a IHubEvent
 */
export declare function updateHubEvent(partialEvent: Partial<IHubEvent>, requestOptions: IHubRequestOptions): Promise<IHubEvent>;
export declare function deleteHubEvent(id: string, requestOptions: IHubRequestOptions): Promise<void>;
/**
 * @private
 * Create an Event registration
 * @param data
 * @param requestOptions
 * @returns Promise<void>
 */
export declare function createHubEventRegistration(data: IHubCreateEventRegistration, requestOptions: IHubRequestOptions): Promise<IRegistration>;
/**
 * @private
 * Remove an Event Attendee
 * @param id event attendee id
 * @param requestOptions
 * @returns Promise<void>
 */
export declare function deleteHubEventRegistration(id: string, requestOptions: IHubRequestOptions): Promise<void>;
