import { MapCultureTo } from "../base-types";
import { IFlatOptionList } from "../contracts/base/option-lists/flat-option-list";
import { IHierarchicalOptionList } from "../contracts/base/option-lists/hierarchical-option-list";
/**
 * A factory to create option lists.
 */
export interface IOptionListFactory {
    /**
     * Creates a new flat option list with the specified name.
     * @param name - Name of the option list
     * @param labels - Optional translations
     * @returns A new flat option list instance.
     */
    createFlatOptionList(name: string, labels?: MapCultureTo<string>): IFlatOptionList;
    /**
     * Creates a new hierarchical option list with the specified name.
     * @param name - Name of the option list
     * @param labels - Optional translations
     * @returns A new hierarchical option list instance.
     */
    createHierarchicalOptionList(name: string, labels?: MapCultureTo<string>): IHierarchicalOptionList;
}
export declare class OptionListFactory implements IOptionListFactory {
    createFlatOptionList(name: string, labels?: MapCultureTo<string>): IFlatOptionList;
    createHierarchicalOptionList(name: string, labels?: MapCultureTo<string>): IHierarchicalOptionList;
}
