import { Schema } from '../schema/Schema';
import { ProtocolConfiguration } from '../protocol/ProtocolConfiguration';
import { StorageConfiguration } from '../storage/StorageConfiguration';
export declare type ConfigurationSetup = {
    languages?: string[];
    schema?: Schema;
    protocolConfiguration?: ProtocolConfiguration;
    storageConfiguration?: StorageConfiguration;
};
export declare class Configuration {
    languages: string[];
    schema: Schema;
    protocolConfiguration: ProtocolConfiguration;
    storageConfiguration: StorageConfiguration;
    constructor(setup?: ConfigurationSetup);
    setLanguages(languages: string[]): void;
    getLanguages(): string[];
    getDefaultLanguage(): string;
    setSchema(schema: Schema): void;
    getSchema(): Schema;
    setProtocolConfiguration(protocolConfiguration: ProtocolConfiguration): void;
    getProtocolConfiguration(): ProtocolConfiguration;
    setStorageConfiguration(storageConfiguration: StorageConfiguration): void;
    getStorageConfiguration(): StorageConfiguration;
}
export declare const isConfiguration: (obj: unknown) => obj is Configuration;
