export declare function withNew(obj: TWithNew, ...args: GArgs): GObject; export declare function withNewAsync(obj: TWithNewAsync, ...args: GArgs): Promise; export type TWithNew = GObject & { _new: GArgs['length'] extends 0 ? () => void : (...args: GArgs) => void; }; export type TWithNewAsync = GObject & { _new: GArgs['length'] extends 0 ? () => Promise : (...args: GArgs) => Promise; };