
982 P.2d 659 (1999)
96 Wash.App. 944
David NOLTE; D.M. Woodside Development; Jeff Edwards; and Wm. Edwards Construction Co., Inc., Respondents,
v.
CITY OF OLYMPIA, a Washington municipal corporation, Appellant,
Building Industry Association of Washington, a Washington nonprofit corporation, Respondent/Intervenor.
No. 23756-3-II.
Court of Appeals of Washington, Division 2.
August 20, 1999.
*661 Mark O. Erickson, City Attorney, Olympia, Elizabeth Thomas, Stephen Alan Smith, Robert Bertelson Mitchell, Preston Gates & Ellis, Seattle, for Appellant.
Mark Stephen Davidson, Williams Kastner & Gibbs, Seattle, for Respondents.
Stephen Harold G. Overstreet, Olympia, for Respondent/Intervenor.
*660 MORGAN, P.J.
The City of Olympia appeals a trial court ruling that it imposed impact fees without the necessary statutory authority. We affirm with one modification.
The City of Olympia ("the City") is located in Thurston County ("the County"). Immediately outside the City's borders, but within the County, is an "urban growth area" (UGA) defined pursuant to the Growth Management Act, RCW 36.70A.
Before 1994, the County and City agreed that they would plan jointly for the UGA. The City's utilities would serve the UGA, and the City's development standards would apply in the UGA.
In 1994, the County and City adopted a comprehensive plan. It called for "[t]he City, not the County, ... to fund neighborhood parks in the unincorporated UGA."[1] It provided similarly for roads. To cover the cost, the City was to "collect impact fees" from new development in the UGA.[2]
In late 1993 or 1994, the City enacted sewer and water ordinances with essentially parallel provisions. Each required that "as a condition of ... connection" to property in the UGA, an applicant shall either "annex to the City of Olympia" or execute a utility extension agreement (UEA).[3] Each further required that every UEA contain a *662 [p]rovision that, prior to connection of any new dwelling or structure to the extended sewer [or water] system, payments be made to the City pursuant to RCW 35.67.310[[4]] in an amount equal to those fees calculated under Title 15 of the Olympia Municipal Code.... The above payment shall be made in addition to any and all other sewer [or water] connection fees and charges set forth in City ordinance.[[5]]
Each referenced Title 15 of the Olympia Municipal Code (OMC), which "assess[es] impact fees for parks, fire protection facilities, and schools,"[6] as well as impact fees "for transportation."[7]
In 1994, David Nolte[8] owned 24 acres of land in the UGA. He wanted to subdivide it and construct a 117-unit planned residential development called Chambers Creek Crossing. Hence, he applied to Thurston County for approval of a proposed plat.
In July 1996, a county hearing examiner approved Nolte's proposed plat, provided that "[p]rior to final plat approval, City of Olympia domestic water and sanitary sewer shall be extended to each lot."[9] The examiner's findings (but not his order) recited:
It is the intent of the applicant to use City of Olympia domestic water and sanitary sewers to serve this project. The City of Olympia has a "Utility Extension Agreement" that must be signed by the developer in order to receive the city utilities....
The Planning Department of the City of Olympia submitted that the proposed development must satisfy City development standards existing at the time the utility extension agreement is executed. It is the responsibility of the applicant to seek utility extension....[[10]]
On November 26, 1996, Nolte asked the City to extend water and sewer service to his project. The City "consider[ed] utility extension agreements as development agreements for purposes of RCW 36.70B.170,"[11] so it convened a public hearing before the City Council.[12] Nolte appeared and did not object to the imposition of impact fees. On February 18, 1997, the City Council approved Nolte's application for service.
In April 1997, Nolte and the City signed a UEA. It provided that the City would furnish sewer and water, but only if Nolte agreed to future annexation and complied with the City's development regulations. In accordance with the pertinent ordinances, it contained the following provision on impact fees:
E. Prior to obtaining any permit to connect any new dwelling or structure to the *663 City of Olympia water and/or sewer system, payments must be made to the City pursuant to RCW 35.67.310 (Impact Fees as adopted by Olympia) in an amount equal to those fees calculated under Title 15 of the Olympia Municipal Code on the date of application;.... The above payments shall be in addition to any and all other connection fees and charges set forth in City ordinance.[[13]]
On June 3, 1997, Nolte filed a declaratory judgment action. He alleged that the City was the sole and exclusive provider of utility service to properties in the UGA, but that it would not provide such service unless the property owner paid impact fees. He further alleged that the City could not lawfully impose impact fees without statutory authority; that in his case the City did not have authority under RCW 82.02; and that "there is no other statutory authority for the City to impose such impact fees."[14] He prayed for an order requiring the City to supply sewer and water service without charging impact fees.
On June 26, 1997, the City answered Nolte's complaint. It admitted that it was the sole provider of water and sewer service to the UGA, and that it would not provide such service unless the property owner signed a UEA and paid impact fees. It prayed that the complaint be dismissed, because the UEA was a "`development agreement' under RCW 36.70B.170 and the challenged provisions are explicitly authorized therein."[15]
In June and July 1998, Nolte and the City brought cross-motions for summary judgment. In September, the trial court ruled that the City could not impose impact fees because it lacked the statutory authority to do so. The court also ruled that the UEA, without its impact-fee provisions, was "mutually enforceable and valid."[16] The court entered judgment for Nolte, and the City filed this appeal.[17]
The parties raise four basic issues. (1) Were impact fees properly imposed? (2) Is Nolte estopped from claiming that impact fees were improperly imposed? (3) Is Nolte prevented from claiming that impact fees were improperly imposed because he failed to exhaust his administrative remedies? (4) If the UEA's impact-fee provisions are stricken, must the City honor the remainder of that agreement?

I.
The parties agree that impact fees cannot be imposed without statutory authority;[18] that the County had statutory authority under RCW 82.02; and that impact fees were imposed on Nolte. They disagree on whether the County or the City imposed impact fees on Nolte, and, if the City did, on whether the City had statutory authority to do so.

A.
The City argues that it did not impose the impact fees at issue here. It says that the County imposed them, or that the County and City imposed them jointly. It argues in its brief:
[Nolte's] argument is that the City unilaterally imposed the [impact] fees without a sufficient statutory basis. In reality, the City did not unilaterally impose fees on the development. Rather, the County Hearing Examiner expressly required Nolte to enter into the City UEA as a condition of subdivision approval.[[19]]
*664 The record will not support this argument. The City's ordinances, not the County's, required that impact fees be paid.[20] The City's ordinances, not the County's, set forth the means by which impact fees were to be calculated.[21] The City, not the County, was to "collect impact fees,"[22] through the "vehicle" of the UEA.[23] The plan was for "City impact fees [to] fund projects throughout the UGA, not just inside the City,"[24] and for the County to recognize "that properties in the unincorporated portions of the UGA receiving City utility service would pay City impact fees."[25] Understandably then, the hearing examiner conditioned plat approval on the City's extending water and sewer service to each lot, but not on the payment of impact fees. With respect to impact fees, he merely recited in his findings that the City "has a [UEA] that must be signed by the developer in order to receive the city utilities," and that the City's planning department had "submitted that the proposed development must satisfy City development standards existing at the time the utility extension agreement is executed." In light of this record, we think it impossible to paint the impact fees as something other than what they really were"City impact fees."[26]

B.
The next question is whether the City had statutory authority to impose impact fees. RCW 36.70B.170 authorizes a city to "enter into a development agreement for real property outside its boundaries as part of a proposed annexation or a service agreement." It also provides that a development agreement may include "[t]he amount and payment of impact fees imposed or agreed to in accordance with any applicable provisions of state law,"[27] and that a development agreement "may obligate a party to fund or provide services, infrastructure, or other facilities."[28] Its effects are restricted, however, by RCW 36.70B.210, which states that "[n]othing in RCW 36.70B.170 ... is intended to authorize local governments to impose impact fees, ... except as expressly authorized by other applicable provisions of state law."
Due to RCW 36.70B.210, the City concedes, as it must, that "[a] development agreement may properly require the payment of impact fees, provided that the impact fees are authorized by other applicable provisions of state law."[29] The City contends that "other applicable provisions of state law" can be found in RCW 82.02.050.090, in RCW 58.17.110, and in its role as a utility provider. It disclaims any reliance on the voluntary-agreement portion of RCW 82.02.020.[30]
*665 RCW 82.02.050-.090 clearly authorize a city to impose impact fees on projects within its borders. The question here, however, is whether those statutes authorize a city to impose impact fees on projects outside its borders. RCW 82.02.090 defines an "impact fee" as "a payment of money imposed upon development as a condition of development approval."[31] It also defines "development approval as "written authorization" to commence "development activity,"[32] and "development activity" as including any change "in the use of land."[33] Necessarily then, an impact fee must be imposed by an entity with development-approval authority, or, in alternate terms, by an entity with authority to approve or disapprove a change in the use of the land on which the project will be built. Because a city lacks statutory authority to approve a change in the use of land beyond its bordersthat authority generally rests with the municipality in which the land is located, which here is the CountyRCW 82.02.050-.090 does not authorize a city to impose impact fees on land outside its borders.
RCW 58.17.110 does not grant more authority than RCW 82.02.050-.090. RCW 58.17.110 provides:
(1) The city, town, or county legislative body shall inquire into the public use and interest proposed to be served by the establishment of the subdivision and dedication. It shall determine: (a) If appropriate provisions are made for ... streets or roads, ... parks and recreation....
(2) A proposed subdivision and dedication shall not be approved unless the city, town, or county legislative body makes written findings that: (a) Appropriate provisions are made for ... streets or roads, ..., parks and recreation .... [I]mpact fees imposed under RCW 82.02.050 through 82.02.090 may be required as a condition of subdivision approval.
This statute does not authorize impact fees other than those imposed under RCW 82.02.050-.090, and thus it does not authorize the fees imposed here.
The City argues that even if it cannot impose impact fees in its role as a municipality, it can in its role as a utility provider. But RCW 82.02.020 states in its second sentence:
Except as provided in RCW 82.02.050 through 82.02.090, no county, city, town, or other municipal corporation shall impose any tax, fee, or charge, either direct or indirect, on the construction or reconstruction of residential buildings, commercial buildings, industrial buildings, or on any other building or building space or appurtenance thereto, or on the development, subdivision, classification, or reclassification of land.
By its plain terms, this statute governs the city in all of its roles. It restricts the city to imposing impact fees under RCW 82.02.050.090, and thus it does not authorize the fees imposed here.
Based on the foregoing, we conclude that the City lacked statutory authority to impose impact fees on Nolte's project. Nothing we have said means that the County (i.e., the entity with development-approval authority) could not have imposed such fees; that the *666 City could not have imposed such fees if Nolte's project had been within its borders; or that the City could or could not have formed a voluntary agreement under RCW 82.02.020.

II.
The City argues that even if it lacked the authority to impose impact fees, Nolte is estopped from so claiming. This is true, the City says, (1) because Nolte "remained silent in the face of the County Hearing Examiner's requirement that he pay the fees;"[34] (2) because Nolte agreed to and signed a UEA without voicing objection in front of the City Council; and (3) because "Nolte's repudiation of his promise to pay impact fees has injured the City."[35]
Taking the last two reasons first, we hold that Nolte is not estopped because he signed the UEA without voicing objection, or because he later repudiated it. Estoppel applies when the party to be estopped makes a representation of fact.[36] Estoppel does not apply "where the representations allegedly relied upon are matters of law."[37] Generally, a promise to do something is not a representation of fact.[38] The same is true of a breach of promise, sometimes called a "repudiation." If these propositions were not true, there would be no distinction between equitable estoppel and breach of contract.[39]
Here, the City claims that Nolte promised to pay impact fees; that the City relied on his promise by not taking certain actions it might otherwise have taken; that he later breached ("repudiated") his promise; and that the City has been injured by the resultant "funding gap."[40] Assuming all of this is true, it amounts to a claim for breach of contract, which has not been made. It does not amount to a claim for equitable estoppel.
Returning to the City's first reason, we think that Nolte is not estopped because he failed to object in front of the hearing examiner. His silence did not involve a representation of fact, and, even if did, it was not inconsistent with his later attack on impact fees. The hearing examiner was not considering whether Nolte should pay the City's impact fees; the examiner was only considering whether Nolte should be required to connect to City water and sewer. Nolte had no duty to speak on an issue not being considered, and his silence was not inconsistent with his later claim that the City's impact fees were invalid. We conclude that the doctrine of equitable estoppel has no place in this case.

III.
The City claims that Nolte is prevented from claiming that impact fees *667 were improperly imposed, because he failed to exhaust his administrative remedies. A party must exhaust his or her administrative remedies[41] unless doing so would be futile.[42] Nolte had no remedy before the hearing examiner, because the latter did not consider the impact fees required by the City's sewer and water ordinances; he considered only whether Nolte should be required to hook up to City sewer and water. Nolte had no remedy before the City, or his remedy was futile, because the City was bound by, and surely would have adhered to, its ordinances. We conclude that Nolte did not fail to exhaust any meaningful administrative remedy.

IV.
The City claims that if the UEA's impact-fee provisions are unenforceable, it need not abide by the remainder of the UEA. This is true, it says, "because the promise to pay impact fees is an essential part of the consideration given to support the contract."[43] Nolte replies:
As the exclusive provider of sewer and water service, the City must supply all those in the UGA who request such service. In light of its public duty, the City had no choice but to provide utility service to Nolte's [project] "irrespective of the offending provisions of the contract."[44]
The City and Nolte are addressing different concepts. The City claims that it is relieved of any contractual duty under the UEA, once the UEA's impact-fee provisions are stricken. Rather than relying on the existence of a contractual duty, Nolte claims the existence of a public duty to serve everyone in the UGA.
The City's claim is correct. When part of an agreement is illegal and thus unenforceable, but part is legal and enforceable, a court may enforce the legal part "only where the unenforceable portion is not an `essential part' of the consideration given to support the contract."[45] Whether the unenforceable portion is "an essential part of the consideration given" depends on whether the parties would have formed the agreement without it.[46] The only reasonable view of this record is that the City would not have formed the UEA without impact-fee provisions. It was bound to follow its ordinance, it wanted to follow its ordinance, and its ordinance required impact fees. Nolte may not enforce the UEA once the impact-fee provisions are stricken.
Nolte's claim is also correct. The City is the exclusive provider of water and sewer service to the UGA. As such, it owes a public duty to serve all the land within the UGA,[47] subject to such reasonable conditions, if any, as the law may allow. That does not mean, however, that the City must perform a particular contractual duty, such as a duty created by the UEA with Nolte. We conclude that the City need not perform the contractual provisions of the UEA, but that it must perform any public duty in the manner provided by law.
Affirmed, except that the City shall not be required to perform the remaining portions of the UEA.
HOUGHTON, J., and HUNT, J., concur.
NOTES
[1]  Opening Brief of Appellant at 9.
[2]  Opening Brief of Appellant at 10; see also, Opening Brief of Appellant at 9. According to the City, impact fees were to pay about half the cost of parks and twenty percent of the cost of roads.
[3]  Olympia Municipal Code (OMC) 13.08.180; OMC 13.04.240. Clerk's Papers at 64.
[4]  RCW 35.67.310 provides as to sewers:

Every city or town may permit connections with any of its sewers, either directly or indirectly, from property beyond its limits, upon such terms, conditions and payments as may be prescribed by ordinance, which may be required by the city or town to be evidenced by a written agreement between the city or town and the owner of the property to be served by the connecting sewer.
RCW 35.92.200 provides as to water:
A city or town may enter into a firm contract with any outside municipality, community, corporation, or person, for furnishing them with water without regard to whether said water shall be considered as surplus or not and regardless of the source from which such water is obtained, which contract may fix the terms upon which the outside distribution systems will be installed and the rates at which and the manner in which payment shall be made for the water supplied or for the service rendered.
[5]  Clerk's Papers at 65-66.
[6]  OMC 15.04.010.
[7]  OMC 15.06.010.
[8]  The respondents include David Nolte, D.N. Woodside Development Company, Inc., Jeff Edwards, and Wm. Edwards Construction Co., Inc. For convenience, we refer to them collectively as "Nolte." The Building Industry Association of Washington (BIAW) intervened on Nolte's behalf in the trial court, and it has also filed a brief on appeal.
[9]  Clerk's Papers at 30.
[10]  Clerk's Papers at 24-25.
[11]  Clerk's Papers at 648.
[12]  RCW 36.70B.200 provides:

A county or city shall only approve a development agreement by ordinance or resolution after a public hearing. The county or city legislative body or a planning commission, hearing examiner, or other body designated by the legislative body to conduct the public hearing may conduct the hearing....
[13]  Clerk's Papers at 84.
[14]  Clerk's Papers at 15.
[15]  Clerk's Papers at 93.
[16]  Clerk's Papers at 696.
[17]  On January 28, 1999, Nolte filed a motion to strike Thurston County Resolution No. 10683, which the City attached as appendix A to its reply brief. We grant the motion because the Resolution is not in the record on appeal.
[18]  See San Telmo Assocs. v. Seattle, 108 Wash.2d 20, 23, 735 P.2d 673 (1987); Hillis Homes, Inc. v. Snohomish Cy., 97 Wash.2d 804, 809, 650 P.2d 193 (1982); Ivy Club Investors Ltd. Partnership v. Kennewick, 40 Wash.App. 524, 528, 699 P.2d 782, review denied, 104 Wash.2d 1006 (1985).
[19]  Opening Brief of Appellant at 17-18.
[20]  OMC 13.08.180; 13.04.240. The record does not show that the County even had an impact-fee ordinance. Consistent with this omission, the City describes the comprehensive plan as "[r]ecognizing that the City would collect impact fees" from landowners in the UGA, and as "contemplat[ing] little County investment" in the UGA. Opening Brief of Appellant at 10 (emphasis added).
[21]  OMC chapters 15.04 and 15.06.
[22]  Opening Brief of Appellant at 10; see also, Opening Brief of Appellant at 9.
[23]  Opening Brief of Appellant at 23; see also Opening Brief of Appellant at 11.
[24]  Opening Brief of Appellant at 11.
[25]  Opening Brief of Appellant at 18 (emphasis added).
[26]  Opening Brief of Appellant at 11 (emphasis added); Opening Brief of Appellant at 18 (emphasis added).
[27]  RCW 36.70B.170(3)(b).
[28]  RCW 36.70B.170(4).
[29]  Opening Brief of Appellant at 22 (italics added).
[30]  According to the City, the trial court "ruled that the fees were unauthorized under a statute RCW 82.02.020which the City did not even invoke." Opening Brief of Appellant at 17. Also according to the City, "Nolte argued, the City agreed, and the trial court held, that the UEA fails to qualify as a voluntary agreement under RCW 82.02.020." The voluntary-agreement portion of RCW 82.02.020 provides:

This section does not prohibit voluntary agreements with counties, cities, towns, or other municipal corporations that allow a payment in lieu of a dedication of land or to mitigate a direct impact that has been identified as a consequence of a proposed development, subdivision, or plat. A local government shall not use such voluntary agreements for local off-site transportation improvements within the geographic boundaries of the area or areas covered by an adopted transportation program authorized by chapter 39.92 RCW. Any such voluntary agreement is subject to the following provisions:
(1) The payment shall be held in a reserve account and may only be expended to fund a capital improvement agreed upon by the parties to mitigate the identified, direct impact;
(2) The payment shall be expended in all cases within five years of collection; and
(3) Any payment not so expended shall be refunded with interest at the rate applied to judgments to the property owners of record at the time of the refund; however, if the payment is not expended within five years due to delay attributable to the developer, the payment shall be refunded without interest.
No county, city, town, or other municipal corporation shall require any payment as part of such a voluntary agreement which the county, city, town, or other municipal corporation cannot establish is reasonably necessary as a direct result of the proposed development or plat.
[31]  RCW 82.02.090(3).
[32]  RCW 82.02.090(2).
[33]  RCW 82.02.090(1).
[34]  Opening Brief of Appellant at 37.
[35]  Opening Brief of Appellant at 39.
[36]  See Department of Ecology v. Theodoratus, 135 Wash.2d 582, 599, 957 P.2d 1241 (1998); Chemical Bank v. WPPSS, 102 Wash.2d 874, 905, 691 P.2d 524 (1984), cert. denied, 471 U.S. 1065, 105 S.Ct. 2140, 85 L.Ed.2d 497 and 471 U.S. 1075, 105 S.Ct. 2154, 85 L.Ed.2d 510 (1985).
[37]  Theodoratus, 135 Wash.2d at 599, 957 P.2d 1241; see also Chemical Bank, 102 Wash.2d at 905, 691 P.2d 524; Concerned Land Owners of Union Hill v. King County, 64 Wash.App. 768, 778, 827 P.2d 1017, rev. denied, 119 Wash.2d 1008, 833 P.2d 387 (1992).
[38]  See E. ALLAN FARNSWORTH, CONTRACTS § 2.19 (1990).
[39]  Suppose, for example, that X offers to sell a product to Y for a certain price. Y accepts. Thereafter, X breaches (i.e., "repudiates"). Y was relying on receiving the product, and suffers injury when it does not arrive. Y clearly has a claim for breach of contract. But does he also have a claim for equitable estoppel? The elements of equitable estoppel are (1) "an admission, statement, or act [by the party to be estopped] which was inconsistent with his later claim; (2) that the other party relied thereon; and (3) that the other party would suffer injury if the party to be estopped were allowed to contradict or repudiate his earlier admission, statement, or act." Henderson Homes v. Bothell, 124 Wash.2d 240, 248-49, 877 P.2d 176 (1994); see also Robinson v. Seattle, 119 Wash.2d 34, 82, 830 P.2d 318, cert. denied, 506 U.S. 1028, 113 S.Ct. 676, 121 L.Ed.2d 598 (1992). Each of these elements is met by the facts supposed above: X's offer was an act inconsistent with his later breach; Y relied; and Y will suffer injury if X is allowed to repudiate his offer. Under the law, however, Y's claim is for breach of contract, not equitable estoppel, because equitable estoppel must be founded on a representation of fact.
[40]  Opening Brief of Appellant at 39-40.
[41]  See Dioxin/Organochlorine Ctr. v. Dep't of Ecology, 119 Wash.2d 761, 776, 837 P.2d 1007 (1992); Ventures Northwest Ltd. Partnership v. State, 81 Wash.App. 353, 368, 914 P.2d 1180 (1996).
[42]  See Dioxin/Organochlorine, 119 Wash.2d at 776, 837 P.2d 1007; Ventures Northwest, 81 Wash.App. at 368, 914 P.2d 1180.
[43]  Opening Brief of Appellant at 43.
[44]  Brief of Respondent at 41-42 (citations omitted).
[45]  Yakima Cy. Fire Protection Dist. No. 12 v. Yakima, 122 Wash.2d 371, 396, 858 P.2d 245 (1993).
[46]  Id.
[47]  Yakima Cy., 122 Wash.2d at 381-82, 858 P.2d 245.
