import { Signer, ContractFactory, Overrides } from "ethers";
import type { Provider, TransactionRequest } from "@ethersproject/providers";
import type { PromiseOrValue } from "../common";
import type { WithCooldown, WithCooldownInterface } from "../WithCooldown";
type WithCooldownConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
export declare class WithCooldown__factory extends ContractFactory {
    constructor(...args: WithCooldownConstructorParams);
    deploy(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<WithCooldown>;
    getDeployTransaction(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): TransactionRequest;
    attach(address: string): WithCooldown;
    connect(signer: Signer): WithCooldown__factory;
    static readonly bytecode = "0x608060405234801561001057600080fd5b5061011a806100206000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c80632e37ff7314604157806339b84ecf14605957806353f5d6f114607c575b600080fd5b6047609f565b60408051918252519081900360200190f35b604760048036036020811015606d57600080fd5b50356001600160a01b031660a5565b604760048036036020811015609057600080fd5b50356001600160a01b031660d3565b60005481565b6001600160a01b0381166000908152600160205260408120548060cb57505060005460ce565b90505b919050565b6001602052600090815260409020548156fea265627a7a72315820d3c5aaa21ace235a83ff8fe8fe910c46e7316afb090b72d1fc11ec4620070e0664736f6c63430005110032";
    static readonly abi: readonly [{
        readonly type: "function";
        readonly name: "defaultCooldownTime";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly name: "";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }];
        readonly stateMutability: "view";
    }, {
        readonly type: "function";
        readonly name: "getCooldown";
        readonly inputs: readonly [{
            readonly name: "rateFeedID";
            readonly type: "address";
            readonly internalType: "address";
        }];
        readonly outputs: readonly [{
            readonly name: "";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }];
        readonly stateMutability: "view";
    }, {
        readonly type: "function";
        readonly name: "rateFeedCooldownTime";
        readonly inputs: readonly [{
            readonly name: "";
            readonly type: "address";
            readonly internalType: "address";
        }];
        readonly outputs: readonly [{
            readonly name: "";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }];
        readonly stateMutability: "view";
    }, {
        readonly type: "event";
        readonly name: "DefaultCooldownTimeUpdated";
        readonly inputs: readonly [{
            readonly name: "newCooldownTime";
            readonly type: "uint256";
            readonly indexed: false;
            readonly internalType: "uint256";
        }];
        readonly anonymous: false;
    }, {
        readonly type: "event";
        readonly name: "RateFeedCooldownTimeUpdated";
        readonly inputs: readonly [{
            readonly name: "rateFeedID";
            readonly type: "address";
            readonly indexed: false;
            readonly internalType: "address";
        }, {
            readonly name: "newCooldownTime";
            readonly type: "uint256";
            readonly indexed: false;
            readonly internalType: "uint256";
        }];
        readonly anonymous: false;
    }];
    static createInterface(): WithCooldownInterface;
    static connect(address: string, signerOrProvider: Signer | Provider): WithCooldown;
}
export {};
