/**
 * Block API Endpoint Definitions
 *
 * Centralized endpoint path definitions for all block client-side API calls.
 */
export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
export type EndpointAuthScope = 'default' | 'portal';
export interface EndpointDefinition {
    path: string;
    method: HttpMethod;
    authScope?: EndpointAuthScope;
    skipPreviewStage?: boolean;
}
/**
 * Build endpoint path with parameter substitution
 */
export declare function buildPath(template: string, params: Record<string, string>): string;
/**
 * Append query parameters to a path
 */
export declare function appendQuery(path: string, params: Record<string, string | number | boolean | undefined | null>): string;
export declare const FORMS: {
    submit: {
        path: string;
        method: "POST";
    };
    get: {
        path: string;
        method: "GET";
    };
};
export declare const BOOKINGS: {
    createAppointment: {
        path: string;
        method: "POST";
    };
    createAppointmentWithPackage: {
        path: string;
        method: "POST";
        authScope: "portal";
    };
    getEligibleAppointmentPackages: {
        path: string;
        method: "GET";
        authScope: "portal";
    };
    appointmentStatus: {
        path: string;
        method: "GET";
    };
    getAvailableSlots: {
        path: string;
        method: "GET";
    };
    getAvailableDates: {
        path: string;
        method: "GET";
    };
    getServices: {
        path: string;
        method: "GET";
    };
    getService: {
        path: string;
        method: "GET";
    };
    getResources: {
        path: string;
        method: "GET";
    };
};
export declare const EVENTS: {
    list: {
        path: string;
        method: "GET";
    };
    filters: {
        path: string;
        method: "GET";
    };
    register: {
        path: string;
        method: "POST";
        authScope: "portal";
    };
    checkout: {
        path: string;
        method: "POST";
    };
    checkEligibility: {
        path: string;
        method: "POST";
        authScope: "portal";
    };
    registrationStatus: {
        path: string;
        method: "GET";
    };
};
export declare const COURSES: {
    list: {
        path: string;
        method: "GET";
    };
    enroll: {
        path: string;
        method: "POST";
        authScope: "portal";
    };
    checkout: {
        path: string;
        method: "POST";
        authScope: "portal";
    };
    checkEligibility: {
        path: string;
        method: "POST";
        authScope: "portal";
    };
    waitlistClaimResolve: {
        path: string;
        method: "POST";
        authScope: "portal";
    };
    registrationStatus: {
        path: string;
        method: "GET";
        authScope: "portal";
    };
};
export declare const SHOP: {
    listProducts: {
        path: string;
        method: "GET";
    };
    checkout: {
        path: string;
        method: "POST";
    };
    unifiedCheckout: {
        path: string;
        method: "POST";
    };
};
export declare const GIFTING: {
    offers: {
        path: string;
        method: "GET";
    };
    checkout: {
        path: string;
        method: "POST";
    };
    claim: {
        path: string;
        method: "POST";
    };
};
export declare const DISCOUNTS: {
    available: {
        path: string;
        method: "POST";
    };
};
export declare const NEWSLETTER: {
    subscribe: {
        path: string;
        method: "POST";
    };
};
export declare const PORTAL: {
    getProfile: {
        path: string;
        method: "GET";
        authScope: "portal";
        skipPreviewStage: true;
    };
    getCredit: {
        path: string;
        method: "GET";
        authScope: "portal";
        skipPreviewStage: true;
    };
    getOrders: {
        path: string;
        method: "GET";
        authScope: "portal";
        skipPreviewStage: true;
    };
    createOrderCheckout: {
        path: string;
        method: "POST";
        authScope: "portal";
        skipPreviewStage: true;
    };
    getDigitalProducts: {
        path: string;
        method: "GET";
        authScope: "portal";
        skipPreviewStage: true;
    };
    getDigitalProduct: {
        path: string;
        method: "GET";
        authScope: "portal";
        skipPreviewStage: true;
    };
    resendDigitalProduct: {
        path: string;
        method: "POST";
        authScope: "portal";
        skipPreviewStage: true;
    };
    getDigitalProductDownloadUrl: {
        path: string;
        method: "GET";
        authScope: "portal";
        skipPreviewStage: true;
    };
    updateProfile: {
        path: string;
        method: "PATCH";
        authScope: "portal";
        skipPreviewStage: true;
    };
    getPasses: {
        path: string;
        method: "GET";
        authScope: "portal";
        skipPreviewStage: true;
    };
    getMemberships: {
        path: string;
        method: "GET";
        authScope: "portal";
        skipPreviewStage: true;
    };
    getEvents: {
        path: string;
        method: "GET";
        authScope: "portal";
        skipPreviewStage: true;
    };
    getEventTicket: {
        path: string;
        method: "GET";
        authScope: "portal";
        skipPreviewStage: true;
    };
    getEventBookingQuestions: {
        path: string;
        method: "GET";
        authScope: "portal";
        skipPreviewStage: true;
    };
    updateEventBookingQuestions: {
        path: string;
        method: "PUT";
        authScope: "portal";
        skipPreviewStage: true;
    };
    getAppointments: {
        path: string;
        method: "GET";
        authScope: "portal";
        skipPreviewStage: true;
    };
    getAppointmentBookingQuestions: {
        path: string;
        method: "GET";
        authScope: "portal";
        skipPreviewStage: true;
    };
    updateAppointmentBookingQuestions: {
        path: string;
        method: "PUT";
        authScope: "portal";
        skipPreviewStage: true;
    };
    getCourses: {
        path: string;
        method: "GET";
        authScope: "portal";
        skipPreviewStage: true;
    };
    getCourseBookingQuestions: {
        path: string;
        method: "GET";
        authScope: "portal";
        skipPreviewStage: true;
    };
    updateCourseBookingQuestions: {
        path: string;
        method: "PUT";
        authScope: "portal";
        skipPreviewStage: true;
    };
    cancelCourseEnrollment: {
        path: string;
        method: "POST";
        authScope: "portal";
        skipPreviewStage: true;
    };
    cancelAppointment: {
        path: string;
        method: "POST";
        authScope: "portal";
        skipPreviewStage: true;
    };
    rescheduleAppointment: {
        path: string;
        method: "POST";
        authScope: "portal";
        skipPreviewStage: true;
    };
    cancelEventRegistration: {
        path: string;
        method: "POST";
        authScope: "portal";
        skipPreviewStage: true;
    };
    getEventGuests: {
        path: string;
        method: "GET";
        authScope: "portal";
        skipPreviewStage: true;
    };
    updateEventGuests: {
        path: string;
        method: "PUT";
        authScope: "portal";
        skipPreviewStage: true;
    };
    transferEventRegistration: {
        path: string;
        method: "POST";
        authScope: "portal";
        skipPreviewStage: true;
    };
    cancelMembershipAtPeriodEnd: {
        path: string;
        method: "POST";
        authScope: "portal";
        skipPreviewStage: true;
    };
    sendMagicLink: {
        path: string;
        method: "POST";
        authScope: "portal";
        skipPreviewStage: true;
    };
    logout: {
        path: string;
        method: "POST";
        authScope: "portal";
        skipPreviewStage: true;
    };
};
export declare const ENDPOINTS: {
    readonly forms: {
        submit: {
            path: string;
            method: "POST";
        };
        get: {
            path: string;
            method: "GET";
        };
    };
    readonly bookings: {
        createAppointment: {
            path: string;
            method: "POST";
        };
        createAppointmentWithPackage: {
            path: string;
            method: "POST";
            authScope: "portal";
        };
        getEligibleAppointmentPackages: {
            path: string;
            method: "GET";
            authScope: "portal";
        };
        appointmentStatus: {
            path: string;
            method: "GET";
        };
        getAvailableSlots: {
            path: string;
            method: "GET";
        };
        getAvailableDates: {
            path: string;
            method: "GET";
        };
        getServices: {
            path: string;
            method: "GET";
        };
        getService: {
            path: string;
            method: "GET";
        };
        getResources: {
            path: string;
            method: "GET";
        };
    };
    readonly events: {
        list: {
            path: string;
            method: "GET";
        };
        filters: {
            path: string;
            method: "GET";
        };
        register: {
            path: string;
            method: "POST";
            authScope: "portal";
        };
        checkout: {
            path: string;
            method: "POST";
        };
        checkEligibility: {
            path: string;
            method: "POST";
            authScope: "portal";
        };
        registrationStatus: {
            path: string;
            method: "GET";
        };
    };
    readonly courses: {
        list: {
            path: string;
            method: "GET";
        };
        enroll: {
            path: string;
            method: "POST";
            authScope: "portal";
        };
        checkout: {
            path: string;
            method: "POST";
            authScope: "portal";
        };
        checkEligibility: {
            path: string;
            method: "POST";
            authScope: "portal";
        };
        waitlistClaimResolve: {
            path: string;
            method: "POST";
            authScope: "portal";
        };
        registrationStatus: {
            path: string;
            method: "GET";
            authScope: "portal";
        };
    };
    readonly shop: {
        listProducts: {
            path: string;
            method: "GET";
        };
        checkout: {
            path: string;
            method: "POST";
        };
        unifiedCheckout: {
            path: string;
            method: "POST";
        };
    };
    readonly discounts: {
        available: {
            path: string;
            method: "POST";
        };
    };
    readonly newsletter: {
        subscribe: {
            path: string;
            method: "POST";
        };
    };
    readonly portal: {
        getProfile: {
            path: string;
            method: "GET";
            authScope: "portal";
            skipPreviewStage: true;
        };
        getCredit: {
            path: string;
            method: "GET";
            authScope: "portal";
            skipPreviewStage: true;
        };
        getOrders: {
            path: string;
            method: "GET";
            authScope: "portal";
            skipPreviewStage: true;
        };
        createOrderCheckout: {
            path: string;
            method: "POST";
            authScope: "portal";
            skipPreviewStage: true;
        };
        getDigitalProducts: {
            path: string;
            method: "GET";
            authScope: "portal";
            skipPreviewStage: true;
        };
        getDigitalProduct: {
            path: string;
            method: "GET";
            authScope: "portal";
            skipPreviewStage: true;
        };
        resendDigitalProduct: {
            path: string;
            method: "POST";
            authScope: "portal";
            skipPreviewStage: true;
        };
        getDigitalProductDownloadUrl: {
            path: string;
            method: "GET";
            authScope: "portal";
            skipPreviewStage: true;
        };
        updateProfile: {
            path: string;
            method: "PATCH";
            authScope: "portal";
            skipPreviewStage: true;
        };
        getPasses: {
            path: string;
            method: "GET";
            authScope: "portal";
            skipPreviewStage: true;
        };
        getMemberships: {
            path: string;
            method: "GET";
            authScope: "portal";
            skipPreviewStage: true;
        };
        getEvents: {
            path: string;
            method: "GET";
            authScope: "portal";
            skipPreviewStage: true;
        };
        getEventTicket: {
            path: string;
            method: "GET";
            authScope: "portal";
            skipPreviewStage: true;
        };
        getEventBookingQuestions: {
            path: string;
            method: "GET";
            authScope: "portal";
            skipPreviewStage: true;
        };
        updateEventBookingQuestions: {
            path: string;
            method: "PUT";
            authScope: "portal";
            skipPreviewStage: true;
        };
        getAppointments: {
            path: string;
            method: "GET";
            authScope: "portal";
            skipPreviewStage: true;
        };
        getAppointmentBookingQuestions: {
            path: string;
            method: "GET";
            authScope: "portal";
            skipPreviewStage: true;
        };
        updateAppointmentBookingQuestions: {
            path: string;
            method: "PUT";
            authScope: "portal";
            skipPreviewStage: true;
        };
        getCourses: {
            path: string;
            method: "GET";
            authScope: "portal";
            skipPreviewStage: true;
        };
        getCourseBookingQuestions: {
            path: string;
            method: "GET";
            authScope: "portal";
            skipPreviewStage: true;
        };
        updateCourseBookingQuestions: {
            path: string;
            method: "PUT";
            authScope: "portal";
            skipPreviewStage: true;
        };
        cancelCourseEnrollment: {
            path: string;
            method: "POST";
            authScope: "portal";
            skipPreviewStage: true;
        };
        cancelAppointment: {
            path: string;
            method: "POST";
            authScope: "portal";
            skipPreviewStage: true;
        };
        rescheduleAppointment: {
            path: string;
            method: "POST";
            authScope: "portal";
            skipPreviewStage: true;
        };
        cancelEventRegistration: {
            path: string;
            method: "POST";
            authScope: "portal";
            skipPreviewStage: true;
        };
        getEventGuests: {
            path: string;
            method: "GET";
            authScope: "portal";
            skipPreviewStage: true;
        };
        updateEventGuests: {
            path: string;
            method: "PUT";
            authScope: "portal";
            skipPreviewStage: true;
        };
        transferEventRegistration: {
            path: string;
            method: "POST";
            authScope: "portal";
            skipPreviewStage: true;
        };
        cancelMembershipAtPeriodEnd: {
            path: string;
            method: "POST";
            authScope: "portal";
            skipPreviewStage: true;
        };
        sendMagicLink: {
            path: string;
            method: "POST";
            authScope: "portal";
            skipPreviewStage: true;
        };
        logout: {
            path: string;
            method: "POST";
            authScope: "portal";
            skipPreviewStage: true;
        };
    };
};
