import type { EndpointRequest, Operation } from './../../types/common.ts';
export interface IEndpoints {
    'DELETE /users/{user-id}/contacts/{contact-id}': Operation<'/users/{user-id}/contacts/{contact-id}', 'delete'>;
    'GET /users/{user-id}/contacts': Operation<'/users/{user-id}/contacts', 'get'>;
    'GET /users/{user-id}/contacts/{contact-id}': Operation<'/users/{user-id}/contacts/{contact-id}', 'get'>;
    'PATCH /users/{user-id}/contacts/{contact-id}': Operation<'/users/{user-id}/contacts/{contact-id}', 'patch'>;
    'POST /users/{user-id}/contacts': Operation<'/users/{user-id}/contacts', 'post'>;
    'GET /users/{user-id}/contacts/{contact-id}/extensions': Operation<'/users/{user-id}/contacts/{contact-id}/extensions', 'get'>;
    'POST /users/{user-id}/contacts/{contact-id}/extensions': Operation<'/users/{user-id}/contacts/{contact-id}/extensions', 'post'>;
    'GET /users/{user-id}/contacts/{contact-id}/extensions/{extension-id}': Operation<'/users/{user-id}/contacts/{contact-id}/extensions/{extension-id}', 'get'>;
    'PATCH /users/{user-id}/contacts/{contact-id}/extensions/{extension-id}': Operation<'/users/{user-id}/contacts/{contact-id}/extensions/{extension-id}', 'patch'>;
    'DELETE /users/{user-id}/contacts/{contact-id}/extensions/{extension-id}': Operation<'/users/{user-id}/contacts/{contact-id}/extensions/{extension-id}', 'delete'>;
    'POST /users/{user-id}/contacts/{contact-id}/permanentDelete': Operation<'/users/{user-id}/contacts/{contact-id}/permanentDelete', 'post'>;
    'GET /users/{user-id}/contacts/{contact-id}/photo': Operation<'/users/{user-id}/contacts/{contact-id}/photo', 'get'>;
    'PATCH /users/{user-id}/contacts/{contact-id}/photo': Operation<'/users/{user-id}/contacts/{contact-id}/photo', 'patch'>;
}
/**
 * `DELETE /users/{user-id}/contacts/{contact-id}`
 *
 */
export declare function del(params?: IEndpoints['DELETE /users/{user-id}/contacts/{contact-id}']['parameters']): EndpointRequest<IEndpoints['DELETE /users/{user-id}/contacts/{contact-id}']['response']>;
/**
 * `GET /users/{user-id}/contacts`
 *
 * The user&#x27;s contacts. Read-only. Nullable.
 */
export declare function list(params?: IEndpoints['GET /users/{user-id}/contacts']['parameters']): EndpointRequest<IEndpoints['GET /users/{user-id}/contacts']['response']>;
/**
 * `GET /users/{user-id}/contacts/{contact-id}`
 *
 * The user&#x27;s contacts. Read-only. Nullable.
 */
export declare function get(params?: IEndpoints['GET /users/{user-id}/contacts/{contact-id}']['parameters']): EndpointRequest<IEndpoints['GET /users/{user-id}/contacts/{contact-id}']['response']>;
/**
 * `PATCH /users/{user-id}/contacts/{contact-id}`
 *
 */
export declare function update(body: IEndpoints['PATCH /users/{user-id}/contacts/{contact-id}']['body'], params?: IEndpoints['PATCH /users/{user-id}/contacts/{contact-id}']['parameters']): EndpointRequest<IEndpoints['PATCH /users/{user-id}/contacts/{contact-id}']['response']>;
/**
 * `POST /users/{user-id}/contacts`
 *
 */
export declare function create(body: IEndpoints['POST /users/{user-id}/contacts']['body'], params?: IEndpoints['POST /users/{user-id}/contacts']['parameters']): EndpointRequest<IEndpoints['POST /users/{user-id}/contacts']['response']>;
export declare const extensions: {
    /**
     * `GET /users/{user-id}/contacts/{contact-id}/extensions`
     *
     * The collection of open extensions defined for the contact. Nullable.
     */
    list: (params?: IEndpoints["GET /users/{user-id}/contacts/{contact-id}/extensions"]["parameters"]) => EndpointRequest<IEndpoints["GET /users/{user-id}/contacts/{contact-id}/extensions"]["response"]>;
    /**
     * `POST /users/{user-id}/contacts/{contact-id}/extensions`
     *
     */
    create: (body: IEndpoints["POST /users/{user-id}/contacts/{contact-id}/extensions"]["body"], params?: IEndpoints["POST /users/{user-id}/contacts/{contact-id}/extensions"]["parameters"]) => EndpointRequest<IEndpoints["POST /users/{user-id}/contacts/{contact-id}/extensions"]["response"]>;
    /**
     * `GET /users/{user-id}/contacts/{contact-id}/extensions/{extension-id}`
     *
     * The collection of open extensions defined for the contact. Nullable.
     */
    get: (params?: IEndpoints["GET /users/{user-id}/contacts/{contact-id}/extensions/{extension-id}"]["parameters"]) => EndpointRequest<IEndpoints["GET /users/{user-id}/contacts/{contact-id}/extensions/{extension-id}"]["response"]>;
    /**
     * `PATCH /users/{user-id}/contacts/{contact-id}/extensions/{extension-id}`
     *
     */
    update: (body: IEndpoints["PATCH /users/{user-id}/contacts/{contact-id}/extensions/{extension-id}"]["body"], params?: IEndpoints["PATCH /users/{user-id}/contacts/{contact-id}/extensions/{extension-id}"]["parameters"]) => EndpointRequest<IEndpoints["PATCH /users/{user-id}/contacts/{contact-id}/extensions/{extension-id}"]["response"]>;
    /**
     * `DELETE /users/{user-id}/contacts/{contact-id}/extensions/{extension-id}`
     *
     */
    del: (params?: IEndpoints["DELETE /users/{user-id}/contacts/{contact-id}/extensions/{extension-id}"]["parameters"]) => EndpointRequest<IEndpoints["DELETE /users/{user-id}/contacts/{contact-id}/extensions/{extension-id}"]["response"]>;
};
export declare const permanentDelete: {
    /**
     * `POST /users/{user-id}/contacts/{contact-id}/permanentDelete`
     *
     * Permanently delete a contact and place it in the Purges folder in the dumpster in the user&#x27;s mailbox. Email clients such as Outlook or Outlook on the web can&#x27;t access permanently deleted items. Unless there&#x27;s a hold set on the mailbox, the items are permanently deleted after a set period of time. For more information about item retention, see Configure Deleted Item retention and Recoverable Items quotas.
     */
    create: (params?: IEndpoints["POST /users/{user-id}/contacts/{contact-id}/permanentDelete"]["parameters"]) => EndpointRequest<IEndpoints["POST /users/{user-id}/contacts/{contact-id}/permanentDelete"]["response"]>;
};
export declare const photo: {
    /**
     * `GET /users/{user-id}/contacts/{contact-id}/photo`
     *
     * Optional contact picture. You can get or set a photo for a contact.
     */
    get: (params?: IEndpoints["GET /users/{user-id}/contacts/{contact-id}/photo"]["parameters"]) => EndpointRequest<IEndpoints["GET /users/{user-id}/contacts/{contact-id}/photo"]["response"]>;
    /**
     * `PATCH /users/{user-id}/contacts/{contact-id}/photo`
     *
     */
    update: (body: IEndpoints["PATCH /users/{user-id}/contacts/{contact-id}/photo"]["body"], params?: IEndpoints["PATCH /users/{user-id}/contacts/{contact-id}/photo"]["parameters"]) => EndpointRequest<IEndpoints["PATCH /users/{user-id}/contacts/{contact-id}/photo"]["response"]>;
};
