// @strict: true interface FormikConfig { initialValues: Values; validate?: (props: Values) => void; validateOnChange?: boolean; } declare function Func( x: (string extends "validate" | "initialValues" | keyof ExtraProps ? Readonly & ExtraProps> : Pick & ExtraProps>, "validate" | "initialValues" | Exclude> & Partial & ExtraProps>, "validateOnChange" | Extract>>) ): void; Func({ initialValues: { foo: "" }, validate: props => { props.foo; } });