import { type Node } from "domhandler";
import type { RequestInit } from "undici";
export interface AmoOptions {
    /**
     * Chrome Web Store extension ID
     * @example "cdonnmffkdaoajfknoeeecmchibpmkmg"
     */
    id: string;
    /**
     * Locale on the extension url
     */
    locale?: string;
    /**
     * `undici.fetch` options
     * @see {@link https://undici.nodejs.org/#/?id=undicifetchinput-init-promise}
     */
    options?: RequestInit;
    /**
     * Query string
     */
    qs?: Record<string, string> | string;
}
export interface AmoMeta {
    name: string | null;
    description: string | null;
    ratingValue: number | null;
    ratingCount: number | null;
    users: number | null;
    price: number | null;
    priceCurrency: string | null;
    version: string | null;
    url: string | null;
    image: string | null;
    operatingSystem: string | null;
    size: string | null;
    lastUpdated: string | null;
}
export declare class Amo {
    config: AmoOptions;
    constructor(config: AmoOptions);
    static load(config: AmoOptions): Promise<Amo>;
    load(): Promise<Amo>;
    meta(): AmoMeta;
    name(): string | null;
    description(): string | null;
    ratingValue(): number | null;
    ratingCount(): number | null;
    users(): number | null;
    price(): number | null;
    priceCurrency(): string | null;
    version(): string | null;
    url(): string | null;
    image(): string | null;
    operatingSystem(): string | null;
    size(): string | null;
    lastUpdated(): string | null;
    get dom(): Node[];
}
export default Amo;
