import { Policy, PolicyJson } from "./Policy";
export type PolicyMap = {
    [name: string]: Policy;
};
export interface ConfigJson {
    policies: {
        [key: string]: PolicyJson;
    };
}
export declare class Config {
    policyMap: PolicyMap;
    filePath: string;
    constructor(policyMap: PolicyMap, filePath: string);
    static fromYaml(yaml: string, filePath: string): Config;
    static fromJson(json: ConfigJson, filePath: string): Config;
    getPolicy(name: string): Policy | undefined;
    deletePolicy(name: string): void;
    setPolicy(policy: Policy): void;
    getPolicyNames(): string[];
    toJson(): ConfigJson;
    toYaml(): string;
    write(): Promise<void>;
    savePolicy(policy: Policy): Promise<void>;
    static read(filePath: string): Promise<Config>;
    static init(filePath: string): Promise<void>;
}
