import type { DefaultElements, MakeRequest, BasicMetaSysProps, SysLink } from '../common-types';
type Application = {
    id?: string;
    name?: string;
    sys: SysLink;
};
type AccessTokenSysProps = BasicMetaSysProps & {
    application: Application | null;
    expiresAt: string | null;
    lastUsedAt: string | null;
    redactedValue: string;
};
export type AccessTokenProps = {
    sys: AccessTokenSysProps;
    name: string;
    scopes: 'content_management_manage'[];
    revokedAt: null | string;
    token?: string;
};
/**
 * @deprecated Use `AccessTokenProps` instead.
 */
export type AccessTokenProp = AccessTokenProps;
export type CreatePersonalAccessTokenProps = Pick<AccessToken, 'name' | 'scopes'> & {
    expiresIn: number;
};
export interface AccessToken extends AccessTokenProps, DefaultElements<AccessTokenProps> {
    /**
     * Revokes access token
     * @returns Object the revoked access token
     * @example ```javascript
     * const contentful = require('contentful-management')
     *
     * const client = contentful.createClient({
     *  accessToken: <content_management_api_key>
     * })
     *
     * client.getAccessToken('<token-id>')
     *  .then((AccessToken) => {
     *    return accessToken.revoke()
     *  })
     *  .catch(console.error)
     * ```
     */
    revoke(): Promise<AccessToken>;
}
/**
 * @internal
 * @param makeRequest - function to make requests via an adapter
 * @param data - Raw  access token data
 * @returns Wrapped access token
 */
export declare function wrapAccessToken(makeRequest: MakeRequest, data: AccessTokenProps): AccessToken;
/**
 * @internal
 * @param makeRequest - function to make requests via an adapter
 * @param data - Raw access collection data
 * @returns Wrapped access token collection data
 */
export declare const wrapAccessTokenCollection: (makeRequest: MakeRequest, data: import("..").CollectionProp<AccessTokenProps>) => import("..").Collection<AccessToken, AccessTokenProps>;
export {};
