import BaseResource from '../../BaseResource';
import type * as SchemaTypes from '../SchemaTypes';
import type * as SimpleSchemaTypes from '../SimpleSchemaTypes';
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: SimpleSchemaTypes.AccessTokenCreateSchema): Promise<SimpleSchemaTypes.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: SchemaTypes.AccessTokenCreateSchema): Promise<SchemaTypes.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 | SimpleSchemaTypes.AccessTokenData, body: SimpleSchemaTypes.AccessTokenUpdateSchema): Promise<SimpleSchemaTypes.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: SchemaTypes.AccessTokenUpdateSchema): Promise<SchemaTypes.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<SimpleSchemaTypes.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<SchemaTypes.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 | SimpleSchemaTypes.AccessTokenData): Promise<SimpleSchemaTypes.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<SchemaTypes.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 | SimpleSchemaTypes.AccessTokenData): Promise<SimpleSchemaTypes.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<SchemaTypes.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 | SimpleSchemaTypes.AccessTokenData, queryParams?: SimpleSchemaTypes.AccessTokenDestroyHrefSchema): Promise<SimpleSchemaTypes.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?: SchemaTypes.AccessTokenDestroyHrefSchema): Promise<SchemaTypes.AccessTokenDestroyTargetSchema>;
}
