import { TypeToFields } from "../data"; import { BooleanType, CollectionType, DictType, EastFunction, EastType, StringType, StructType, Variable } from "../east"; /** @internal */ export type Assertion = { assertion_type: 'Log' | 'Warn' | 'Fail'; value_type: T extends CollectionType ? 'Value' | 'None' | 'Every' : 'Value' | 'None'; if: EastFunction; message: EastFunction; }; /** @internal */ export type AssertionConfig> = (T extends DictType ? { assertion_type: 'Log' | 'Warn' | 'Fail'; value_type: 'Every'; if: (fields: TypeToFields, key: Variable, inputs: Inputs) => EastFunction; message: ((fields: TypeToFields, key: Variable, inputs: Inputs) => EastFunction) | string; } : never) | { assertion_type: 'Log' | 'Warn' | 'Fail'; value_type: 'Value'; if: (value: Variable, inputs: Inputs) => EastFunction; message: ((value: Variable, inputs: Inputs) => EastFunction) | string; }; /** @internal */ export declare function Assertion>(config: AssertionConfig, stream_type: T, inputs: Inputs, getField?: boolean): Assertion;