export interface MaterialVariantState {
    readonly assetId: string;
    readonly variants: readonly string[];
    readonly selected: string | null;
}
export interface MaterialVariantRenderOptions {
    readonly materialVariant?: string;
}
export declare class MaterialVariantWorkflow {
    private readonly states;
    register(assetId: string, variants: readonly string[], selected?: string | null): MaterialVariantState;
    unregister(assetId: string): void;
    select(assetId: string, variant: string | null): MaterialVariantState;
    state(assetId: string): MaterialVariantState;
    snapshot(): readonly MaterialVariantState[];
    renderOptions(assetId: string): MaterialVariantRenderOptions;
    clear(): void;
}
//# sourceMappingURL=MaterialVariantWorkflow.d.ts.map