import { AxiosInstance } from "axios";
import { ApiToken, ApiTokenWithToken, CreateApiTokenRequest, ResetApiTokenRequest } from "../../../types/api/api-tokens";
export default class ApiTokensApi {
    private client;
    private apiTokensURL;
    constructor(client: AxiosInstance, accountId: number);
    /**
     * List all API tokens visible to the current API token.
     * The full token value is never returned here — only `last_4_digits`.
     */
    getList(): Promise<ApiToken[]>;
    /**
     * Create a new API token for the account with the given name and resource permissions.
     * The full token value is returned only in the response of this call — store it securely.
     * Unless `expires_at` is provided, the token expiration falls back to the server
     * default (a 1-year default is being rolled out); pass `expires_at: null` for a
     * token that never expires.
     */
    create(params: CreateApiTokenRequest): Promise<ApiTokenWithToken>;
    /**
     * Get a single API token by ID. The full token value is not returned —
     * only `last_4_digits` is available outside of create/reset responses.
     */
    get(id: number): Promise<ApiToken>;
    /**
     * Reset an API token: expires the existing token and returns a new one with
     * the same permissions. The new token value is returned only in this response —
     * store it securely. Tokens that have already been reset or have already
     * expired cannot be reset — both are rejected with a 422.
     * Unless `expires_at` is provided, the new token expiration falls back to the
     * server default (a 1-year default is being rolled out); pass `expires_at: null`
     * for a token that never expires.
     */
    reset(id: number, params?: ResetApiTokenRequest): Promise<ApiTokenWithToken>;
    /**
     * Permanently delete an API token by ID.
     */
    delete(id: number): Promise<import("axios").AxiosResponse<any, any, {}>>;
}
//# sourceMappingURL=ApiTokens.d.ts.map