import { Result, Assertion, UnaryOperator, BinaryOperator } from './model'; /** * @author Maciej Chałapuk (maciej@chalapuk.pl) */ export interface AssertionBuilder extends ConnectorBuilder { } /** * @author Maciej Chałapuk (maciej@chalapuk.pl) */ export interface OperatorBuilder extends Result, ConnectorBuilder { (errorName?: string): T; check(errorName?: string): T; throwIfUnmet(errorName?: string): T; getError(errorName?: string): string | null; } /** * @author Maciej Chałapuk (maciej@chalapuk.pl) */ export interface ConnectorBuilder { } /** * @author Maciej Chałapuk (maciej@chalapuk.pl) */ export interface RuntimeBuilder { _testedValue: any; _varName: string; __pushAssertion(assertion: Assertion): OperatorBuilder; __pushAssertionFactory(factory: Assertion.Factory, args: any[]): OperatorBuilder; __pushUnaryOperator(operator: UnaryOperator): this; __pushBinaryOperator(operator: BinaryOperator): this; __evaluate(): Result; } /** * @author Maciej Chałapuk (maciej@chalapuk.pl) */ export declare type InnerExpression = (context: AssertionBuilder) => Result;