import * as types from '../../.types';
export declare type Dict<X> = Readonly<types.Dict.StrKey<X>>;
export declare function zip<A, B>(a: Dict<A>, b: Dict<B>, provideKeys?: zip.KeySetProvider): Dict<[A | void, B | void]>;
export declare namespace zip {
    type KeySetProvider = (a: string[], b: string[]) => Iterable<string>;
    const FIRST: KeySetProvider;
    const INNER_JOIN: KeySetProvider;
    const OUTER_JOIN: KeySetProvider;
}
export default zip;
