Search teams scouring the Java Sea for the wreckage of AirAsia flight QZ8501 have found "two large objects", Indonesian officials say.
Search and rescue agency chief Bambang Soelistyo said an underwater vehicle was being lowered to take pictures.
Meanwhile, the Indonesian weather agency has said that bad weather was the "biggest factor" behind the crash.
The jet disappeared with 162 people on board while flying from Surabaya in Indonesia to Singapore last Sunday.
So far 30 bodies have been recovered in the search. No survivors have been found and the main sections of the Airbus A320 have not been retrieved.
Most bodies are thought to have been trapped in the plane's fuselage.
'Confident'
Mr Soelistyo said on Saturday that the large objects had been detected by sonar from an Indonesian navy ship.
"We found oil slicks and huge objects at 23:40 (16:40 GMT) last night. I am confident these are parts of the missing AirAsia plane that we are looking for," he said.
He said the larger of the objects was 10 metres by five (32ft by 16ft) but that strong currents made operating the underwater vehicle difficult.
"As I speak we are lowering an ROV (remotely operated underwater vehicle) to get an actual picture of the objects detected on the sea floor. All are at the depth of 30 metres."
The BBC's Rupert Wingfield-Hayes at the forward operating base in Pangkalan Bun says it seems this could be the breakthrough search teams have been hoping for.
The cause of the crash is not yet known. Specialist equipment has arrived to the search for the plane's "black box" flight recorders, though officials say no signals have been picked up yet.
'Weather a factor'
An initial analysis by Indonesian weather agency BMKG has found that conditions at the time of the plane's disappearance suggest it likely flew into a storm.
"From our data it looks like the last location of the plane had very bad weather and it was the biggest factor behind the crash," said Professor Edvin Aldrian, head of research at BMKG.
He said there was evidence of extremely icy conditions at the plane's altitude, which can "stall the engines of the plane and freeze and damage the plane's machinery."
Officials have said the plane was travelling at 32,000ft when it requested to climb to 38,000ft to avoid bad weather.
Some investigators are reported to believe that the plane may have gone into an aerodynamic stall as the pilot climbed steeply.
In another development, it has emerged that AirAsia did not have official permission to fly the Surabaya-Singapore route on Sunday - the day of the crash - but was licensed on four other days of the week.
The Indonesian authorities are suspending the company's flights on this route with immediate effect pending an investigation, a transport ministry statement said.
Sunu Widyatmoko, chief executive of AirAsia's Indonesian arm, said the company will "fully corporate" with the inquiry.
There were 137 adult passengers, 17 children and one infant, along with two pilots and five crew, on the plane - the majority Indonesian.
Four people have been identified so far: Hayati Lutfiah Hamid, Grayson Herbert Linaksita, Kevin Alexander Soetjipto and Khairunisa Haidar Fauzi. Two other bodies are said to have been identified but details have not yet been released.
After bodies are recovered from the sea they are transported in numbered coffins for identification in Surabaya, Indonesia's second largest city.
AirAsia previously had an excellent safety record, with no fatal accidents involving its aircraft.