/**
 * `accessRecord` type for {@link createMockLocalStorage}'s output.
 *
 * @category Internal
 */
export type MockLocalStorageAccessRecord = {
    getItem: string[];
    removeItem: string[];
    setItem: {
        key: string;
        value: string;
    }[];
    key: number[];
};
/**
 * Create an empty `accessRecord` object, this is to be used in conjunction with
 * {@link createMockLocalStorage}.
 *
 * @category Mock
 */
export declare function createEmptyMockLocalStorageAccessRecord(): MockLocalStorageAccessRecord;
/**
 * Create a LocalStorage mock.
 *
 * @category Mock
 */
export declare function createMockLocalStorage(
/** Set values in here to initialize the mocked localStorage data store contents. */
init?: Record<string, string>): {
    localStorage: Storage;
    store: Record<string, string>;
    accessRecord: MockLocalStorageAccessRecord;
};
