import type { Except } from 'type-fest';
import type { BasicMetaSysProps, CreateWithResponseParams, DefaultElements, MakeRequest, SysLink } from '../common-types';
import type { WebhookCallDetailsProps } from './webhook';
type AppActionCallSys = Except<BasicMetaSysProps, 'version'> & {
    appDefinition: SysLink;
    space: SysLink;
    environment: SysLink;
    action: SysLink;
};
type RetryOptions = Pick<CreateWithResponseParams, 'retries' | 'retryInterval'>;
export type AppActionCallProps = {
    /**
     * System metadata
     */
    sys: AppActionCallSys;
};
export type CreateAppActionCallProps = {
    /** The body for the call */
    parameters: {
        [key: string]: any;
    };
};
type AppActionCallApi = {
    createWithResponse(): Promise<AppActionCallResponse>;
    getCallDetails(): Promise<AppActionCallResponse>;
};
export type AppActionCallResponse = WebhookCallDetailsProps;
export interface AppActionCallResponseData extends AppActionCallResponse, DefaultElements<AppActionCallResponse>, AppActionCallApi {
}
export interface AppActionCall extends AppActionCallProps, DefaultElements<AppActionCallProps> {
}
/**
 * @private
 */
export default function createAppActionCallApi(makeRequest: MakeRequest, retryOptions?: RetryOptions): AppActionCallApi;
/**
 * @private
 * @param http - HTTP client instance
 * @param data - Raw AppActionCall data
 * @return Wrapped AppActionCall data
 */
export declare function wrapAppActionCall(makeRequest: MakeRequest, data: AppActionCallProps): AppActionCall;
/**
 * @private
 * @param http - HTTP client instance
 * @param data - Raw AppActionCall data
 * @return Wrapped AppActionCall data
 */
export declare function wrapAppActionCallResponse(makeRequest: MakeRequest, data: AppActionCallResponse, retryOptions?: RetryOptions): AppActionCallResponseData;
export {};
