For "normal" pools they are difficulty 1 shares = 2^32 shares or roughly 4.295 billion shares.
So 4295 / MH per s = seconds between shares. Remember shares are random. You will on average find 1 share every 2^32 hashes but in the short run there will be variance.
Likely your next question is hashes per block.
Share difficulty = 1
Current block difficulty = 1,376,302
It will on average* take 1376302 (difficulty 1) shares to find a block with difficulty 1376302.
1376302*2^32 = 5,911,172,079,419,390 (5.9 quadrillion)
Remember a share is worthless. It has no value it is just used as a proxy. Since a miner will find roughly 1 share every 4.3 billion hashes and can't over the long run increase share count without increasing hashing power a pool can use shares as proof of work. When you submit a share you are proving you did ~ 2^32 hashes.
Now for p2pool it uses variable difficulty. Currently share difficulty is ~550. Thus it takes 550 * 2^32 hashes for one share = 2,362,232,012,800 (~2.4 trillion).
* We can only calculate the average since hashes are random. Swings in # of hashes to solve a block of 10% to 500% of expected value are pretty common. There have been blocks are short as <1% of difficulty and as long as 11,000% difficulty (and possibly longer or shorter).