If you want someMethod to be a normal function that also has a property, you could simply declare it as having both a call signature and properties, like this:
declare const someMethod: {
(arg1: boolean): boolean;
state: any; // or whatever type you intend someMethod.state to have
}
However, if someMethod is actually meant to be used as a constructor function, I'd strongly recommend rewriting this as a class instead:
declare class someClass {
constructor(arg1: boolean);
state: any;
}
And then use it like this (note the new keyword):
const instance = new someClass(true);
instance.state = {};
statedoesn't exist on your function. It would exist on newly constructed objects usingsomeMethodas a constructor (i.e.new someMethod(true)), but not on the function.