declare type NonHomomorphicKeys<T> = ({
    [P in keyof T]: P;
} & {
    [x: string]: never;
})[keyof T];
export declare type Required<T> = {
    [K in NonHomomorphicKeys<T>]: T[K];
};
export declare type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
export {};
