anchorbrowser
Version:
The official TypeScript library for the Anchorbrowser API
144 lines • 4.24 kB
text/typescript
import { APIResource } from "../core/resource.mjs";
import * as ExtensionsAPI from "./extensions.mjs";
import * as Shared from "./shared.mjs";
import { APIPromise } from "../core/api-promise.mjs";
import { type Uploadable } from "../core/uploads.mjs";
import { RequestOptions } from "../internal/request-options.mjs";
export declare class Extensions extends APIResource {
/**
* Get details of a specific extension by its ID
*
* @example
* ```ts
* const extension = await client.extensions.retrieve(
* '550e8400-e29b-41d4-a716-446655440000',
* );
* ```
*/
retrieve(id: string, options?: RequestOptions): APIPromise<ExtensionRetrieveResponse>;
/**
* Get all extensions for the authenticated user
*
* @example
* ```ts
* const extensions = await client.extensions.list();
* ```
*/
list(options?: RequestOptions): APIPromise<ExtensionListResponse>;
/**
* Delete an extension and remove it from storage
*
* @example
* ```ts
* const extension = await client.extensions.delete(
* '550e8400-e29b-41d4-a716-446655440000',
* );
* ```
*/
delete(id: string, options?: RequestOptions): APIPromise<ExtensionDeleteResponse>;
/**
* Upload a new browser extension as a ZIP file. The extension will be validated
* and stored for use in browser sessions.
*
* @example
* ```ts
* const response = await client.extensions.upload({
* file: fs.createReadStream('path/to/file'),
* name: 'My Custom Extension',
* });
* ```
*/
upload(body: ExtensionUploadParams, options?: RequestOptions): APIPromise<ExtensionUploadResponse>;
}
export interface ExtensionManifest {
description?: string;
manifest_version?: number;
name?: string;
permissions?: Array<string>;
version?: string;
[k: string]: unknown;
}
export interface ExtensionRetrieveResponse {
/**
* Unique identifier for the extension
*/
id?: string;
/**
* Timestamp when the extension was created
*/
createdAt?: string;
manifest?: ExtensionManifest;
/**
* Extension name
*/
name?: string;
/**
* Timestamp when the extension was last updated
*/
updatedAt?: string;
}
export interface ExtensionListResponse {
data?: Array<ExtensionListResponse.Data>;
}
export declare namespace ExtensionListResponse {
interface Data {
/**
* Unique identifier for the extension
*/
id?: string;
/**
* Timestamp when the extension was created
*/
createdAt?: string;
manifest?: ExtensionsAPI.ExtensionManifest;
/**
* Extension name
*/
name?: string;
/**
* Timestamp when the extension was last updated
*/
updatedAt?: string;
}
}
export interface ExtensionDeleteResponse {
data?: Shared.SuccessResponse;
}
export interface ExtensionUploadResponse {
data?: ExtensionUploadResponse.Data;
}
export declare namespace ExtensionUploadResponse {
interface Data {
/**
* Unique identifier for the extension
*/
id?: string;
/**
* Timestamp when the extension was created
*/
createdAt?: string;
manifest?: ExtensionsAPI.ExtensionManifest;
/**
* Extension name
*/
name?: string;
/**
* Timestamp when the extension was last updated
*/
updatedAt?: string;
}
}
export interface ExtensionUploadParams {
/**
* ZIP file containing the browser extension
*/
file: Uploadable;
/**
* User-friendly name for the extension (1-255 characters)
*/
name: string;
}
export declare namespace Extensions {
export { type ExtensionManifest as ExtensionManifest, type ExtensionRetrieveResponse as ExtensionRetrieveResponse, type ExtensionListResponse as ExtensionListResponse, type ExtensionDeleteResponse as ExtensionDeleteResponse, type ExtensionUploadResponse as ExtensionUploadResponse, type ExtensionUploadParams as ExtensionUploadParams, };
}
//# sourceMappingURL=extensions.d.mts.map