import type { EndpointConfig } from '../../../core/base-client';
import { type PreAuthParams, type PreAuthResponse, type PreAuthCompleteParams, type PreAuthCompleteResponse } from '../schemas';
type ExecuteRequest = <TParams, TResponse>(config: EndpointConfig<TParams, TResponse>, params?: TParams, pathParams?: Record<string, string>) => Promise<TResponse>;
/**
 * Creates the moneris resource methods
 * OpenAPI Path: /moneris → moneris.*
 * @description Moneris payment gateway integration for pre-authorization transactions
 */
export declare function createMonerisResource(executeRequest: ExecuteRequest): {
    /**
     * Pre-Auth Operations
     */
    preAuth: {
        /**
         * Pre-authorizes a payment transaction
         * @fullPath api.payments.moneris.preAuth.get
         * @service payments
         * @domain payment-processing
         * @dataMethod monerisData.preAuth.get
         * @discoverable true
         * @searchTerms ["moneris", "pre-auth", "authorize", "credit card"]
         */
        get: (params: PreAuthParams) => Promise<PreAuthResponse>;
    };
    /**
     * Pre-Auth Complete Operations
     */
    preAuthComplete: {
        /**
         * Completes a pre-authorized payment transaction
         * @fullPath api.payments.moneris.preAuthComplete.get
         * @service payments
         * @domain payment-processing
         * @dataMethod monerisData.preAuthComplete.get
         * @discoverable true
         * @searchTerms ["moneris", "pre-auth complete", "capture", "transaction"]
         */
        get: (params: PreAuthCompleteParams) => Promise<PreAuthCompleteResponse>;
    };
};
/**
 * Creates the monerisData resource methods (data-only versions)
 */
export declare function createMonerisDataResource(moneris: ReturnType<typeof createMonerisResource>): {
    preAuth: {
        get: (params: PreAuthParams) => Promise<{} & {
            [k: string]: unknown;
        }>;
    };
    preAuthComplete: {
        get: (params: PreAuthCompleteParams) => Promise<{} & {
            [k: string]: unknown;
        }>;
    };
};
export type MonerisResource = ReturnType<typeof createMonerisResource>;
export type MonerisDataResource = ReturnType<typeof createMonerisDataResource>;
export {};
//# sourceMappingURL=moneris.d.ts.map