import { PluginSettingsSpec } from "./index";
/**
 * SettingsPayload - class for validating and constructing plugin setting payload from input data.
 * @class
 * @author Danil Andreev
 */
export default class SettingsPayload<T = any> {
    /**
     * payload - plugin settings validated payload.
     */
    readonly payload: T;
    /**
     * spec - plugin settings payload spec. Need to validate input data and convert is to correct payload.
     */
    readonly spec: PluginSettingsSpec;
    /**
     * Creates an instance of SettingsPayload.
     * @param spec - Plugin settings payload spec. Need to validate input data and convert is to correct payload.
     * @param payload - Any payload to validate and convert.
     * @throws ValidationError
     * @author Danil Andreev
     */
    constructor(spec: PluginSettingsSpec, payload: any);
}
