import { ValidationController, ValidationControllerFactory, ValidationRenderer, ValidateResult } from "aurelia-validation";
import { JavaScriptService } from "../javascript-service";
export declare class ValidationService {
    private javaScriptService;
    private validationControllerFactory;
    constructor(javaScriptService: JavaScriptService, validationControllerFactory: ValidationControllerFactory);
    validationController: ValidationController;
    validateTrigger: number;
    addValidationRenderer(renderer: ValidationRenderer): void;
    removeValidationRenderer(renderer: ValidationRenderer): void;
    validate(instances?: Array<any>, validationRules?: any): Promise<Array<ValidateResult>>;
    isValid(instance: any, validationRules?: any): Promise<boolean>;
    registerInstances(instances: Array<any>, validationRules: any): void;
    unRegisterInstances(instances: Array<any>): void;
    readonly validationMessages: Array<ValidateResult>;
    validationMessagesForInstance(instance: any): Array<ValidateResult>;
}
export interface IValidationService {
    isValid(instance: any, validationRules?: any): Promise<boolean>;
    validate(instances?: Array<any>, validationRules?: any): Promise<Array<ValidateResult>>;
    validationMessages: Array<ValidateResult>;
    validationMessagesForInstance(instance: any): Array<ValidateResult>;
    validateTrigger: number;
    registerInstances(instances: Array<any>, validationRules: any): void;
    unRegisterInstances(instances: Array<any>): void;
    addValidationRenderer(renderer: ValidationRenderer): void;
    removeValidationRenderer(renderer: ValidationRenderer): void;
    validationController: ValidationController;
}
export { ValidationRenderer as IValidationRenderer } from "aurelia-validation";
