import { Nullable, NullableResultPromise } from "../base-types";
import { IExtendedContentHubClient } from "../clients/extended-client";
import { IOptionList } from "../contracts/base/option-lists/option-list";
import { IFlatOptionListValue, IHierarchicalOptionListValue, IOptionListValue } from "../contracts/base/option-lists/option-list-value";
import OptionListResource from "../models/option-lists/option-list-resource";
import OptionListValueResource from "../models/option-lists/option-list-value-resource";
export declare class OptionListMapper {
    private readonly _client;
    constructor(client: IExtendedContentHubClient);
    mapOptionListAsync(resource: OptionListResource): NullableResultPromise<IOptionList>;
    map(ol: IOptionList): Nullable<OptionListResource>;
    mapFlatOptionListValues(optionListValues: Array<OptionListValueResource>): Array<IFlatOptionListValue>;
    mapFlatOptionListValue(optionListValue: OptionListValueResource): IFlatOptionListValue;
    mapHierarchicalOptionListValues(optionListValues: Array<OptionListValueResource>): Array<IHierarchicalOptionListValue>;
    mapHierarchicalOptionListValue(optionListValue: OptionListValueResource): IHierarchicalOptionListValue;
    mapValues(optionListValues: Array<IOptionListValue>): Array<OptionListValueResource>;
    mapValue(optionListValue: IOptionListValue): OptionListValueResource;
}
