import type { Param, ParamSpecs, PlatformAdapter, PRNG, RunMode, ScreenConfig, Traits } from "@genart-api/core";
declare global {
    var $fx: {
        readonly hash: string;
        readonly context: "standalone" | "capture" | "minting";
        readonly minter: string;
        readonly iteration: number;
        params(specs: any[]): void;
        getParam(id: string): any;
        features(features: Record<string, string | number | boolean>): void;
        preview(): void;
        on(id: string, pre: (...args: any[]) => boolean | Promise<boolean>, post: (...args: any[]) => void): void;
    };
}
/**
 * Adapter configuration options. To be used with
 * {@link FxhashAdapter.configure}.
 */
export interface FxhashAdapterOpts {
}
interface AdaptedParam {
    /**
     * Original param ID
     */
    id: string;
    /**
     * Function to convert adapted param value to original type.
     *
     * @param value
     */
    adapt(value: any): any;
}
export declare class FxhashAdapter implements PlatformAdapter {
    protected _searchParams: URLSearchParams;
    protected _params?: ParamSpecs;
    protected _cache: Record<string, any>;
    protected _adaptations: Record<string, AdaptedParam>;
    protected _prng: PRNG;
    protected _screen: ScreenConfig;
    constructor();
    get id(): string;
    get mode(): RunMode;
    get screen(): {
        width: number;
        height: number;
        dpr: number;
    };
    get prng(): PRNG;
    get seed(): string;
    get collector(): string;
    get iteration(): number;
    configure(_: Partial<FxhashAdapterOpts>): void;
    updateParam(id: string, _: Param<any>): Promise<{
        value: any;
    } | undefined>;
    initParams(params: ParamSpecs): Promise<void>;
    setTraits(traits: Traits): void;
    capture(_?: HTMLCanvasElement | SVGElement): void;
    protected reload(): void;
    protected adaptVectorParam(id: string, idx: number): AdaptedParam;
    protected warn(msg: string, ...args: any[]): void;
}
export {};
