declare function warn(m: string): void; declare function warn(c: boolean, m: string): void; declare function invariant(m: string): void; declare function invariant(c: boolean, m: string): void; declare function ensure(c: T | null | undefined, m: () => string): asserts c is T; type RequiredBy = Omit & Required>; declare function ensureProps(props: T, keys: K[], scope?: string): asserts props is T & RequiredBy; export { ensure, ensureProps, invariant, warn };