import { ImapFlow } from 'imapflow';
import { IExecuteFunctions, INodeExecutionData, INodeProperties, INodePropertyOptions, NodeExecutionWithMetadata } from 'n8n-workflow';
export interface IResourceOperationDef {
    operation: INodePropertyOptions;
    parameters: INodeProperties[];
    executeImapAction: (context: IExecuteFunctions, itemIndex: number, client: ImapFlow) => Promise<INodeExecutionData[] | NodeExecutionWithMetadata[] | null>;
}
export interface IResourceDef {
    resource: INodePropertyOptions;
    operationDefs: IResourceOperationDef[];
}
export declare function getAllResourceNodeParameters(resourceDef: IResourceDef): INodeProperties[];
