import type { RequestInit } from "undici";
export type { RequestInit };
export interface EdgeAddonsImage {
    caption?: string;
    imagePurpose?: string;
    uri?: string;
    [key: string]: unknown;
}
export interface EdgeAddonsPrivacyData {
    privacyPolicyRequired?: boolean;
    dataUsageList?: unknown[];
    disclosureList?: unknown[];
    [key: string]: unknown;
}
export interface EdgeAddonsMeta {
    availability: string[] | null;
    activeInstallCount: number | null;
    storeProductId: string | null;
    name: string | null;
    logoUrl: string | null;
    thumbnailUrl: string | null;
    description: string | null;
    developer: string | null;
    category: string | null;
    isInstalled: boolean | null;
    crxId: string | null;
    manifest: string | null;
    isHavingMatureContent: boolean | null;
    version: string | null;
    lastUpdateDate: number | null;
    privacyUrl: string | null;
    availabilityId: string | null;
    skuId: string | null;
    locale: string | null;
    market: string | null;
    averageRating: number | null;
    ratingCount: number | null;
    availableLanguages: string[] | null;
    metadata: Record<string, unknown> | null;
    shortDescription: string | null;
    searchKeywords: string | null;
    screenshots: EdgeAddonsImage[] | null;
    videos: EdgeAddonsImage[] | null;
    largePromotionImage: EdgeAddonsImage | null;
    publisherWebsiteUri: string | null;
    isBadgedAsFeatured: boolean | null;
    privacyData: EdgeAddonsPrivacyData | null;
    url: string | null;
}
export interface EdgeAddonsOptions {
    /**
     * Microsoft Edge Add-ons extension ID
     * @example "cnlefmmeadmemmdciolhbnfeacpdfbkd"
     */
    id: string;
    /**
     * `undici.fetch` options
     * @see {@link https://undici.nodejs.org/#/?id=undicifetchinput-init-promise}
     */
    options?: RequestInit;
    /**
     * Query string
     */
    qs?: Record<string, string> | string;
}
export declare class EdgeAddons {
    id: string;
    options?: RequestInit;
    qs: string;
    private _data;
    private _dom;
    private _url;
    private _cache;
    constructor({ id, options, qs }: EdgeAddonsOptions);
    static load(options: EdgeAddonsOptions): Promise<EdgeAddons>;
    load(): Promise<EdgeAddons>;
    meta(): EdgeAddonsMeta;
    availability(): string[] | null;
    activeInstallCount(): number | null;
    storeProductId(): string | null;
    name(): string | null;
    logoUrl(): string | null;
    thumbnailUrl(): string | null;
    description(): string | null;
    developer(): string | null;
    category(): string | null;
    isInstalled(): boolean | null;
    crxId(): string | null;
    manifest(): string | null;
    isHavingMatureContent(): boolean | null;
    version(): string | null;
    lastUpdateDate(): number | null;
    privacyUrl(): string | null;
    availabilityId(): string | null;
    skuId(): string | null;
    locale(): string | null;
    market(): string | null;
    averageRating(): number | null;
    ratingCount(): number | null;
    availableLanguages(): string[] | null;
    metadata(): Record<string, unknown> | null;
    shortDescription(): string | null;
    searchKeywords(): string | null;
    screenshots(): EdgeAddonsImage[] | null;
    videos(): EdgeAddonsImage[] | null;
    largePromotionImage(): EdgeAddonsImage | null;
    publisherWebsiteUri(): string | null;
    isBadgedAsFeatured(): boolean | null;
    privacyData(): EdgeAddonsPrivacyData | null;
    url(): string | null;
    private get queryString();
    private get detailUrl();
    private _value;
    private _string;
    private _urlString;
    private _number;
    private _boolean;
    private _array;
    private _images;
    private _object;
    private _title;
    private _parseMetaNumber;
    private get dom();
}
export default EdgeAddons;
