export type SerializableProperties = { [K in keyof T as T[K] extends string ? K : never]: T[K] extends string ? T[K] : never; }; export type SerializableOperation = { operationName: string; } & { [K in keyof T as T[K] extends string ? K : never]: T[K] extends string ? T[K] : never; }; export declare abstract class AbstractOperation { abstract getSerializableProperties(): string[]; abstract getTextProperties(): string[]; }