import { type ContractRunner } from "ethers";
import type { IProtocolFeesCollector, IProtocolFeesCollectorInterface } from "../../../../../@balancer-labs/v2-interfaces/contracts/vault/IProtocolFeesCollector";
export declare class IProtocolFeesCollector__factory {
    static readonly abi: readonly [{
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "newFlashLoanFeePercentage";
            readonly type: "uint256";
        }];
        readonly name: "FlashLoanFeePercentageChanged";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "newSwapFeePercentage";
            readonly type: "uint256";
        }];
        readonly name: "SwapFeePercentageChanged";
        readonly type: "event";
    }, {
        readonly inputs: readonly [];
        readonly name: "getAuthorizer";
        readonly outputs: readonly [{
            readonly internalType: "contract IAuthorizer";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "contract IERC20[]";
            readonly name: "tokens";
            readonly type: "address[]";
        }];
        readonly name: "getCollectedFeeAmounts";
        readonly outputs: readonly [{
            readonly internalType: "uint256[]";
            readonly name: "feeAmounts";
            readonly type: "uint256[]";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getFlashLoanFeePercentage";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getSwapFeePercentage";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "newFlashLoanFeePercentage";
            readonly type: "uint256";
        }];
        readonly name: "setFlashLoanFeePercentage";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "newSwapFeePercentage";
            readonly type: "uint256";
        }];
        readonly name: "setSwapFeePercentage";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "vault";
        readonly outputs: readonly [{
            readonly internalType: "contract IVault";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "contract IERC20[]";
            readonly name: "tokens";
            readonly type: "address[]";
        }, {
            readonly internalType: "uint256[]";
            readonly name: "amounts";
            readonly type: "uint256[]";
        }, {
            readonly internalType: "address";
            readonly name: "recipient";
            readonly type: "address";
        }];
        readonly name: "withdrawCollectedFees";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }];
    static createInterface(): IProtocolFeesCollectorInterface;
    static connect(address: string, runner?: ContractRunner | null): IProtocolFeesCollector;
}
