import * as React from 'react';
import { EffectKind } from '@shopify/react-effect';
import { AssetTiming } from '../types';
export interface AssetSelector {
    id: string;
    styles: boolean;
    scripts: boolean;
}
export declare const EFFECT_ID: unique symbol;
export declare class AsyncAssetManager {
    readonly effect: EffectKind;
    private assets;
    used(timing?: AssetTiming | AssetTiming[]): AssetSelector[];
    markAsUsed(id: string, timing?: AssetTiming | {
        scripts?: AssetTiming;
        styles?: AssetTiming;
    }): void;
}
export declare const AsyncAssetContext: React.Context<AsyncAssetManager | null>;
