export interface Issue {
    level: string;
    message: string;
}
export declare const aggregateValidationsArray: (array: ValidationResult[]) => any;
export declare const aggregateIssues: (a: Issue, b: Issue) => Issue;
export declare type IssueLevel = 'success' | 'warning' | 'error';
export declare const IssueTypes: IssueLevel[];
export declare const resolveIssueType: (type: "error" | "success" | "warning") => string;
export declare class ValidationResult {
    _validation: Issue;
    [index: string]: any;
    constructor(validations?: {});
    setValidation(i: Issue): void;
    getValidation(): Issue;
    isValid(): boolean;
}
export declare const IssueApi: {
    given: (issue: Issue) => {
        isValid: () => boolean;
    };
};
export declare const buildValidation: (defaults: any, overrides?: any) => ValidationResult;
