import { FullConnectParameters } from '../connect'; import { BaseMethods, BaseProperties } from './base'; import { IframeMethods, SizingUtilities } from './commonExtras/sizing'; export type ImposedSizePluginFrameCtx< Mode extends keyof FullConnectParameters, AdditionalProperties extends Record = Record, AdditionalMethods extends Record = Record, > = BaseProperties & PluginFrameAdditionalProperties & AdditionalProperties & BaseMethods & PluginFrameAdditionalMethods< BaseProperties & PluginFrameAdditionalProperties & AdditionalProperties > & AdditionalMethods; export type SelfResizingPluginFrameCtx< Mode extends keyof FullConnectParameters, AdditionalProperties extends Record = Record, AdditionalMethods extends Record = Record, > = ImposedSizePluginFrameCtx & SizingUtilities & IframeMethods; export type PluginFrameAdditionalProperties< Mode extends keyof FullConnectParameters, > = { mode: Mode; bodyPadding: [number, number, number, number]; }; export type PluginFrameAdditionalMethods< Properties extends Record, > = { getSettings: () => Promise; };