The interfaces "exist" in certain form regardless of availability of their declaration in your project. That is, if you don't have certain interfaces defined, and then you don't have them from third party component vendor, and you don't have them via reference or type library import - then you need to define that yourself so that your definition matches their original definition.
The same way DirectShow.NET defines interfaces you need and you don't have available for your .NET code out of the box, e.g. in QEdit.cs:
[ComImport, System.Security.SuppressUnmanagedCodeSecurity,
Guid("6B652FFF-11FE-4fce-92AD-0266B5D7C78F"),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface ISampleGrabber
{
[PreserveSig]
int SetOneShot(
[In, MarshalAs(UnmanagedType.Bool)] bool OneShot);
[PreserveSig]
int SetMediaType(
[In, MarshalAs(UnmanagedType.LPStruct)] AMMediaType pmt);
UPD. As CPlusSharp says in comments below, definition needs to be a 100% match. Important in particular is order of methods (as opposed to naming), and types and conventions used. Your definition is not a good match.