import BaseResource from '../../BaseResource';
import type * as ApiTypes from '../ApiTypes';
import type * as RawApiTypes from '../RawApiTypes';
export default class AccessToken extends BaseResource {
    static readonly TYPE: "access_token";
    /**
     * Create a new API token
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/access-token/create
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    create(body: ApiTypes.AccessTokenCreateSchema): Promise<ApiTypes.AccessToken>;
    /**
     * Create a new API token
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/access-token/create
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawCreate(body: RawApiTypes.AccessTokenCreateSchema): Promise<RawApiTypes.AccessTokenCreateTargetSchema>;
    /**
     * Update an API token
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/access-token/update
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    update(accessTokenId: string | ApiTypes.AccessTokenData, body: ApiTypes.AccessTokenUpdateSchema): Promise<ApiTypes.AccessToken>;
    /**
     * Update an API token
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/access-token/update
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawUpdate(accessTokenId: string, body: RawApiTypes.AccessTokenUpdateSchema): Promise<RawApiTypes.AccessTokenUpdateTargetSchema>;
    /**
     * List all API tokens
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/access-token/instances
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    list(): Promise<ApiTypes.AccessTokenInstancesTargetSchema>;
    /**
     * List all API tokens
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/access-token/instances
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawList(): Promise<RawApiTypes.AccessTokenInstancesTargetSchema>;
    /**
     * Retrieve an API token
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/access-token/self
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    find(accessTokenId: string | ApiTypes.AccessTokenData): Promise<ApiTypes.AccessToken>;
    /**
     * Retrieve an API token
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/access-token/self
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawFind(accessTokenId: string): Promise<RawApiTypes.AccessTokenSelfTargetSchema>;
    /**
     * Rotate API token
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/access-token/regenerate_token
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    regenerateToken(accessTokenId: string | ApiTypes.AccessTokenData): Promise<ApiTypes.AccessToken>;
    /**
     * Rotate API token
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/access-token/regenerate_token
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawRegenerateToken(accessTokenId: string): Promise<RawApiTypes.AccessTokenRegenerateTokenTargetSchema>;
    /**
     * Delete an API token
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/access-token/destroy
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    destroy(accessTokenId: string | ApiTypes.AccessTokenData, queryParams?: ApiTypes.AccessTokenDestroyHrefSchema): Promise<ApiTypes.AccessToken>;
    /**
     * Delete an API token
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/access-token/destroy
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawDestroy(accessTokenId: string, queryParams?: RawApiTypes.AccessTokenDestroyHrefSchema): Promise<RawApiTypes.AccessTokenDestroyTargetSchema>;
}
